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

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

Σύγκριση των αλγορίθμων ταξινόμησης

Με κυριολεκτικά δεκάδες αλγορίθμων ταξινόμησης διαθέσιμα , προσδιορισμό που θα λειτουργήσει καλύτερα με το σύστημά σας θα εξαρτηθεί από συγκρίσεις των διαφόρων παραγόντων , όπως το μέγεθος της λίστας , η ταχύτητα ή η πολυπλοκότητα του αλγορίθμου , και αν θα χρησιμοποιήσετε το κλειδί για να ταξινομήσετε . Πολυπλοκότητα
Η

Η πολυπλοκότητα ενός αλγορίθμου ταξινόμησης μετριέται από O (n ) , ή η «τάξη n ", όπου n είναι το μέγεθος της λίστας . Μετρά τον αριθμό των σαρώσεων που χρειάζεται για να ταξινομήσετε τη λίστα και υπολογίζει καλύτερες στιγμές της, χειρότερη και ο μέσος χρόνος για να το πράξει . Κοινή περιπλοκές περιλαμβάνουν n ως καλύτερη περίπτωση για τα είδη , όπως η ταξινόμηση με εισαγωγή και το κέλυφος του είδους, n log n , ( χρησιμοποιώντας μια βάση - 2 λογάριθμο , όχι με βάση το 10 ) , η οποία είναι η πολυπλοκότητα για τη συγχώνευση ταξινόμησης και heapsort , και n ² , η οποία είναι πιο αργή από ό, τι την πρώτη φορά και είναι η ταχύτητα για το είδος επιλογής
εικόνων Κατάλογος Κατάσταση
Η

Μερικές φορές θα ξέρετε πώς οι αδιαχώριστα στοιχεία σε μια λίστα που διοργανώνονται . : για παράδειγμα , αν είναι σχεδόν ταξινομούνται , σε αντίστροφη σειρά , ή μια λίστα με μερικά μοναδικά αντικείμενα . Αυτή η γνώση βοηθά να επιλέξετε έναν αποδοτικό αλγόριθμο για να το λύσουμε . Για παράδειγμα, χρησιμοποιώντας ταξινόμηση με εισαγωγή για να ταξινομήσετε μια λίστα με ανάστροφη σειρά έχει ένα χρόνο λειτουργίας του n ² , ενώ η σωρός του είδους μπορεί να το κάνει πιο γρήγορα , σε n log n χρόνο . Σε έναν κατάλογο που είναι σχεδόν ταξινόμηση , ταξινόμηση με εισαγωγή είναι ταχύτερη από ό, τι σωρό είδους. Όταν η λίστα περιέχει ένα εντελώς τυχαίο σύνολο δεδομένων , επιλέξτε έναν αλγόριθμο με μια μέση υπόθεση πολυπλοκότητα n log n χρόνο λειτουργίας , όπως η σωρός του είδους, quicksort ή συγχώνευση είδους.

Η Μέγεθος List
Η

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

σταθερότητας Αλγόριθμος περιγράφει το αν το είδος διατηρεί τη σειρά των στοιχείων με βάση διαλογής κλειδί . Για παράδειγμα , χρησιμοποιώντας τον πρώτο χαρακτήρα ως το κλειδί για μια λίστα που έχει " John ", " Steve " και " Jim" σε αυτή τη σειρά , μια σταθερή αλγόριθμος ταξινομεί τη λίστα με το " John ", " Jim" και " Steve ", ενώ ένα ασταθές αλγόριθμος μπορεί ή δεν μπορεί να ταξινομήσετε " Jim " πριν από το " John ". Συγχώνευση sort, ταξινόμηση με εισαγωγή και bubble sort είναι όλα τα σταθερά αλγόριθμοι ενώ κέλυφος sort, ταξινόμηση με επιλογή και σωρού του είδους δεν είναι .
Η
εικόνων

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

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