Τι είναι η ταξινόμηση με φυσαλίδες στην Java

Ti Einai E Taxinomese Me Physalides Sten Java



Ενώ ασχολούμαστε με μη ταξινομημένα δεδομένα στην Java, μπορεί να υπάρξουν περιπτώσεις ταξινόμησης των μαζικών δεδομένων με αύξοντα τρόπο. Για παράδειγμα, ταξινόμηση των τιμών που δημιουργούνται τυχαία κατά το χρόνο εκτέλεσης. Σε τέτοιες καταστάσεις, το « Ταξινόμηση με φυσαλίδες Ο αλγόριθμος βοηθάει στην άμεση ταξινόμηση των μεγάλων πινάκων και είναι βολικό να εφαρμοστεί ταυτόχρονα στο άκρο του προγραμματιστή.

Αυτό το ιστολόγιο θα συζητήσει τη χρήση και την εφαρμογή του 'Bubble Sort' σε Java.

Τι είναι το 'Bubble Sort' στην Java;

Ο ' Ταξινόμηση με φυσαλίδες Ο αλγόριθμος είναι ο απλούστερος αλγόριθμος ταξινόμησης. Σε αυτόν τον αλγόριθμο, ένας πίνακας διασχίζεται ξεκινώντας από το πρώτο στοιχείο μέχρι το τελευταίο έτσι ώστε κάθε στοιχείο να συγκρίνεται με το επόμενο. Στην περίπτωση που το προηγούμενο στοιχείο είναι μεγαλύτερο από το επόμενο στοιχείο σε έναν πίνακα, και τα δύο στοιχεία ανταλλάσσονται.







Πολυπλοκότητα χρόνου

Υπάρχουν δύο ένθετοι βρόχοι στον αλγόριθμο ταξινόμησης με φυσαλίδες. Επομένως η χρονική πολυπλοκότητα θα είναι ' O(n^2) ', που ' n ” αντιστοιχεί στο μήκος του πίνακα που πρέπει να ταξινομηθεί.



Υλοποίηση του “Bubble Sort” σε Java

Στην παρακάτω επίδειξη, η υλοποίηση του αλγορίθμου ταξινόμησης με φυσαλίδες θα γίνει και θα εξηγηθεί βήμα προς βήμα:



δημόσιο στατικός κενός algobubbleSort ( ενθ [ ] BubbleArray, ενθ μήκος ) {

Για ( ενθ Εγώ = 0 ; Εγώ < μήκος - 1 ; Εγώ ++ ) {

Για ( ενθ ι = 0 ; ι < μήκος - Εγώ - 1 ; ι ++ ) {

αν ( BubbleArray [ ι + 1 ] < BubbleArray [ ι ] ) {

ενθ swapvalues = BubbleArray [ ι ] ;

BubbleArray [ ι ] = BubbleArray [ ι + 1 ] ;

BubbleArray [ ι + 1 ] = swapvalues ;

} }

} }

ενθ [ ] δεδομένος πίνακας = { 4 , 2 , 1 , 3 , 10 , 8 , δεκαπέντε } ;

ενθ Μήκος πίνακα = δεδομένος πίνακας. μήκος ;

algobubbleSort ( δεδομένος πίνακας, μήκος πίνακα ) ;

Σύστημα . έξω . Τυπώνω ( 'Το Bubble Sorted Array γίνεται: ' ) ;

Για ( ενθ Εγώ = 0 ; Εγώ < Μήκος πίνακα ; ++ Εγώ ) {

Σύστημα . έξω . Τυπώνω ( δεδομένος πίνακας [ Εγώ ] + '' ) ;

}

Σύμφωνα με τον κωδικό που δίνεται, ακολουθήστε τις καταχωρημένες οδηγίες:





  • Πρώτα απ 'όλα, ορίστε τη συνάρτηση ' algobubbleSort() ” στην οποία η πρώτη παράμετρος δείχνει τον πίνακα που πέρασε που πρέπει να ταξινομηθεί και η δεύτερη παράμετρος δείχνει το μήκος (πίνακας) του.
  • Στον ορισμό της συνάρτησης, επαναλάβετε τα συσσωρευμένα στοιχεία του πίνακα ένα προς ένα στο πρώτο ' Για ' βρόχος.
  • Στο επόμενο βήμα, εφαρμόστε ένα εσωτερικό ' Για ' βρόχος που επαναλαμβάνεται μέχρι το δεύτερο τελευταίο στοιχείο πίνακα. Είναι επειδή, σε κάθε επανάληψη, το μεγαλύτερο στοιχείο πίνακα θα τοποθετηθεί στον τελευταίο δείκτη. Ως εκ τούτου, αποφεύγεται σε αυτή την επανάληψη.
  • Μέσα στο τελευταίο» Για βρόχο, ελέγξτε για την συνθήκη έτσι ώστε εάν το προηγούμενο στοιχείο είναι μεγαλύτερο από το επόμενο στοιχείο, οι τιμές θα εναλλάσσονται με τέτοιο τρόπο ώστε η μικρότερη τιμή να τοποθετείται πρώτη στην αύξουσα σειρά και ούτω καθεξής με τις περαιτέρω επαναλαμβανόμενες τιμές.
  • Κυρίως, δηλώστε έναν πίνακα που περιλαμβάνει τις δηλωμένες ακέραιες τιμές με μη ταξινομημένο τρόπο.
  • Στο επόμενο βήμα, συσχετίστε το ' μήκος ιδιότητα με τον πίνακα για επιστροφή του μήκους του πίνακα.
  • Μετά από αυτό, καλέστε την καθορισμένη συνάρτηση περνώντας τον δηλωμένο πίνακα και το μήκος του ως παραμέτρους της (συνάρτησης).
  • Τέλος, επαναλάβετε τον πίνακα λαμβάνοντας υπόψη το μήκος του και η συνάρτηση στην οποία έχετε πρόσβαση θα ' Ταξινόμηση με φυσαλίδες ” ο πίνακας με αύξοντα τρόπο.

Παραγωγή



Στην παραπάνω έξοδο, μπορεί να παρατηρηθεί ότι ο δεδομένος πίνακας έχει ταξινομηθεί ανάλογα.

συμπέρασμα

' Ταξινόμηση με φυσαλίδες ' στην Java πραγματοποιείται με τη διέλευση ενός πίνακα από το πρώτο στοιχείο στο τελευταίο και κάθε στοιχείο συγκρίνεται με το επόμενο βήμα προς βήμα έτσι ώστε ο πίνακας να ανακτάται σε αύξουσα σειρά. Αυτό το ιστολόγιο επεξεργάστηκε τον αλγόριθμο και την εφαρμογή της ταξινόμησης με φυσαλίδες στην Java.