Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Python Προγραμματισμός

Πώς να Συγχώνευση Ταξινόμηση σε Python

Διαλογή λίστες των δεδομένων είναι ένα πρόβλημα που έχει εξοργίσει τους προγραμματιστές από την αρχή του προγραμματισμού ηλεκτρονικών υπολογιστών . Ταξινόμηση οποιαδήποτε λίστα των δεδομένων που μπορεί να καταλήξει ως ένα μνήμης και χρονοβόρα εργασία . Εξαιτίας αυτού , έχουν διαφορετικές μεθόδους ταξινόμησης έχουν εφευρεθεί για την ελαχιστοποίηση της πρόκλησης και την προσπάθεια διαλογής . Μια μέθοδος είναι να ενώσω τη διαλογή . Υποδιαιρεί μια λίστα αναδρομικά σε ενικό στοιχεία και ανασυνδυάζει τον κατάλογο σε ταξινομημένη μορφή . Κάθε γλώσσα προγραμματισμού που υποστηρίζει αναδρομή , όπως Python , μπορεί να εφαρμόσει ένα είδος συγχώνευσης . Τα πράγματα που θα χρειαστείτε
Python διερμηνέας Interactive Development Environment
Η Εμφάνιση Περισσότερες οδηγίες
Η

1 Ορίστε τη λειτουργία " με συγχώνευση » . Αυτή η βασική λειτουργία αυτοαποκαλείται αναδρομικά , διαχωρίζοντας το μέγεθος της λίστας στο μισό με κάθε κλήση . Μόλις η λειτουργία ταξινόμησης με συγχώνευση χτυπά μια λίστα με ένα στοιχείο , η αναδρομή σταματά και οι αποδόσεις στοιχείο. Καθώς η αναδρομή με συγχώνευση ξετυλίγεται , κάθε μικρότερο λίστα συγχωνεύονται σε ταξινομημένη σειρά . Αυτό το παράδειγμα εμφανίζει μια βασική λειτουργία με συγχώνευση που παίρνει μια λίστα ως επιχείρημα :

>>> def με συγχώνευση ( li ) :

. . . αν len ( li ) <2 :

. . . επιστροφή li

. . . mid = len ( li ) /2

. . . Πρώτα = ταξινόμησης με συγχώνευση ( li [ : mid ] )

. . . = τελευταία με συγχώνευση ( li [mid : ] )

. . . συγχώνευση επιστρέψει ( πρώτη , τελευταία) 2

Ρυθμίστε τη μέθοδο της συγχώνευσης . Η λειτουργία αυτή θα χρησιμεύσει ως μέθοδος διαλογής ? Επιστρέφει μια ταξινομημένη λίστα των στοιχείων . Η μέθοδος συγχώνευσης παίρνει δύο ήδη ταξινομημένο καταλόγους . Στη συνέχεια, ορίζει μία εσωτερική λίστα " ταξινόμηση " που θα εκπροσωπήσει τις συνδυασμένες ταξινομημένες λίστες επιχείρημα . Η μέθοδος συγχώνευσης επιτυγχάνει αυτό με τη λήψη το μικρότερο στοιχείο και την εισαγωγή σε μια νέα λίστα " ταξινόμηση " . Μόλις μία από τις λίστες τελειώνει , η άλλη λίστα εισάγεται στο σύνολό της

>>> def συγχώνευση ( x , y ) : .

. . . ταξινομούνται = [ ]
εικόνων 3

Συγχώνευση των καταλόγων με τη μέθοδο της συγχώνευσης . Ο βρόχος "while" στο παράδειγμα συγκρίνει κάθε στοιχείο από το σημείο , αφού το μικρότερο στοιχείο και την τοποθετήσετε σε μια νέα λίστα " ταξινόμηση " . Μόλις μία από τις λίστες τελειώνει , η άλλη λίστα εισάγεται στο σύνολό της , και η νέα ταξινομημένη λίστα επιστρέφεται :

. . . i , j = 0 , 0

. . . ενώ εγώ

. . . αν x [ i ] <= y [ j ] :

. . . sorted.append ( x [ i ] )

. . . i + = 1

. . . άλλο :

. . . sorted.append ( y [ j ] )

. . . j = 1 +

. . . ταξινόμηση + = x [ I: ] Ξενοδοχεία

. . . ταξινόμηση + = y [ : j ] Ξενοδοχεία

. . . επιστρέψει ταξινόμηση
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα