Ο αλγόριθμος Quick-Sort. 6/14/2007 3:42 AM Quick-Sort 1

Σχετικά έγγραφα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)

Merge Sort (Ταξινόμηση με συγχώνευση) 6/14/2007 3:04 AM Merge Sort 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Ταξινόμηση με συγχώνευση Merge Sort

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

Ταχεία Ταξινόμηση Quick-Sort

Αλγόριθμοι Ταξινόμησης Μέρος 2

8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Quicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σχεδίαση και Ανάλυση Αλγορίθμων

Αλγόριθμοι ταξινόμησης

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Ταξινόμηση. Σαλτογιάννη Αθανασία

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Quicksort Κεφάλαιο 7. Ε. Μαρκάκης Επίκουρος Καθηγητής

Διδάσκων: Παναγιώτης Ανδρέου

Επιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές

Επιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Σχεδίαση & Ανάλυση Αλγορίθμων

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Mergesort Κεφάλαιο 8. Ε. Μαρκάκης Επίκουρος Καθηγητής

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 4: Διαίρει και Βασίλευε. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Πρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1

Επιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Δομές Δεδομένων και Αλγόριθμοι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Σχεδίαση και Ανάλυση Αλγορίθμων

Επιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Προγραμματισμός Ι (ΗΥ120)

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Αλγόριθμοι και πολυπλοκότητα Bucket-Sort και Radix-Sort

Διάλεξη 10: Αλγόριθμοι Ταξινόμησης II

Ταξινόμηση. Παύλος Εφραιμίδης. Δομές Δεδομένων Ταξινόμηση 1

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής

Δομές Δεδομένων και Αλγόριθμοι

Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αλγόριθμοι Ταξινόμησης Μέρος 3

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

Ταξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

Αλγόριθμοι Ταξινόμησης Μέρος 4

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS)

Union Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΗΥ240 - Παναγιώτα Φατούρου 2

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 9: Ταξινόμηση Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

Αλγόριθµοι και Πολυπλοκότητα

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Εργαστηριακή Άσκηση 1

Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Αλγοριθμικές Τεχνικές

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Κατανεμημένα Συστήματα Ι

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Σχεδίαση και Ανάλυση Αλγορίθμων

Δομές Δεδομένων και Αλγόριθμοι

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Εισαγωγή στην Ανάλυση Αλγορίθμων

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Τεχνικές Σχεδιασμού Αλγορίθμων

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

Αλγόριθμοι Ταξινόμησης Μέρος 1

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

Transcript:

Ο αλγόριθμος Quick-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 6/14/2007 3:42 AM Quick-Sort 1

Κύρια σημεία για μελέτη Quick-sort ( 4.3) Αλγόριθμος Partition step Δέντρο Quick-sort Παράδειγμα εκτέλεσης Ανάλυση του quick-sort (4.3.1) In-place quick-sort ( 4.8) Συνόψιση αλγόριθμων ταξινόμησης 6/14/2007 3:42 AM Quick-Sort 2

Quick-Sort Ο Quick-sort είναι ένας αλγόριθμος ταξινόμησης που χρησιμοποιεί τυχαιότητα και βασίζεται στην τεχνική «διαίρει και βασίλευε». Divide: διαλέγεται ένα τυχαίο στοιχείο Χ (που ονομάζεται pivot) και ένα τμήμα S μέσα L τα στοιχεία μικρότερα από x E τα στοιχεία ίσα με x G τα στοιχεία μεγαλύτερα από x Recur: ταξινομούνται τα σύνολα L και G Conquer: ενώνονται τα στοιχεία L, E και G L x x E x G 6/14/2007 3:42 AM Quick-Sort 3

Τμηματοποίηση (partition) Τμηματοποιούμε μια ακολουθία εισόδου ως εξής: Απομακρύνουμε διαδοχικά,,κάθε στοιχείο y από την ακολουθία S και Εισάγουμε το y στο σύνολο L, E ή στο G, ανάλογα με το αποτέλεσμα της σύγκρισης του με το x. Κάθε εισαγωγή ή απομάκρυνση γίνεται στην αρχή ή στο τέλος της ακολουθίας, και έτσι παίρνει χρόνο O(1). Έτσι, το τμήμα του quicksort που αφορά το partition παίρνει χρόνο O(n). Algorithm partition(s, p) Input sequence S, position p of pivot Output subsequences L, E, G of the elements of S less than, equal to, or greater than the pivot, resp. L, E, G empty sequences x S.remove(p) while S.isEmpty() y S.remove(S.first()) if y < x L.insertLast(y) else if y = x E.insertLast(y) else { y > x } G.insertLast(y) return L, E, G 6/14/2007 3:42 AM Quick-Sort 4

Το δέντρο Quick-Sort Μια εκτέλεση του quick-sort αναπαρίσταται με ένα δυαδικό δέντρο. Κάθε κόμβος αναπαριστά μια αναδρομική κλήση του αλγόριθμου quick-sort και αποθηκεύει Την αταξινόμητη ακολουθία πριν από την εκτέλεση και το pivot Την ταξινομημένη ακολουθία στο τέλος της εκτέλεσης. Η ρίζα είναι η αρχική κλήση. Τα φύλλα είναι κλήσεις σε υποακολουθίες 0 ή 1 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 6/14/2007 3:42 AM Quick-Sort 5

Παράδειγμα εκτέλεσης Η επιλογή του Pivot 7 2 9 4 3 7 6 1 1 2 3 4 6 7 8 9 7 2 9 4 2 4 7 9 3 8 6 1 1 3 8 6 2 2 9 4 4 9 3 3 8 8 9 9 4 4 6/14/2007 3:42 AM Quick-Sort 6

Παράδειγμα εκτέλεσης (συν.) Τμηματοποίηση,αναδρομική κλήση, επιλογή του pivot. 7 2 9 4 3 7 6 1 1 2 3 4 6 7 8 9 2 4 3 1 2 4 7 9 3 8 6 1 1 3 8 6 2 2 9 4 4 9 3 3 8 8 9 9 4 4 6/14/2007 3:42 AM Quick-Sort 7

Παράδειγμα εκτέλεσης (συν.) Τμηματοποίηση,αναδρομική κλήση, base case 7 2 9 4 3 7 6 1 1 2 3 4 6 7 8 9 2 4 3 1 2 4 7 3 8 6 1 1 3 8 6 1 1 9 4 4 9 3 3 8 8 9 9 4 4 6/14/2007 3:42 AM Quick-Sort 8

Παράδειγμα εκτέλεσης (συν.) Αναδρομική κλήση,, base case, συνένωση 7 2 9 4 3 7 6 1 1 2 3 4 6 7 8 9 2 4 3 1 1 2 3 4 3 8 6 1 1 3 8 6 1 1 4 3 3 4 3 3 8 8 9 9 4 4 6/14/2007 3:42 AM Quick-Sort 9

Παράδειγμα εκτέλεσης (συν.) Αναδρομική κλήση, επιλογή του pivot 7 2 9 4 3 7 6 1 1 2 3 4 6 7 8 9 2 4 3 1 1 2 3 4 7 9 7 1 1 3 8 6 1 1 4 3 3 4 8 8 9 9 9 9 4 4 6/14/2007 3:42 AM Quick-Sort 10

Παράδειγμα εκτέλεσης (συν.) Τμηματοποίηση,..,αναδρομική κλήση, base case 7 2 9 4 3 7 6 1 1 2 3 4 6 7 8 9 2 4 3 1 1 2 3 4 7 9 7 1 1 3 8 6 1 1 4 3 3 4 8 8 9 9 9 9 4 4 6/14/2007 3:42 AM Quick-Sort 11

Παράδειγμα εκτέλεσης (συν.) Ένωση, ένωση 7 2 9 4 3 7 6 1 1 2 3 4 6 7 7 9 2 4 3 1 1 2 3 4 7 9 7 17 7 9 1 1 4 3 3 4 8 8 9 9 9 9 4 4 6/14/2007 3:42 AM Quick-Sort 12

Πολυπλοκότητα χειρότερης περίπτωσης Η πολυπλοκότητα χειρότερης περίπτωσης για τον quick-sort συμβαίνει όταν το pivot είναι το μοναδικό minimum ή maximum στοιχείο. Το ένα σύνολο από τα L και G έχει μέγεθος n 1 και το άλλο έχει μέγεθος 0 Ο χρόνος εκτέλεσης είναι ποσοστό του συνολικού χρόνου εκτέλεσης n (n 1) 2 Έτσι, ο χρόνος εκτέλεσης της χειρότερης περίπτωσης είναι O(n 2 ) Βάθος 0 1 Χρόνος n n 1 n 1 1 6/14/2007 3:42 AM Quick-Sort 13

Αναμενόμενος χρόνος εκτέλεσης Θεωρείστε μια αναδρομική κλήση του quick-sort σε μια ακολουθία μεγέθους s Καλή κλήση: τα μεγέθη των L και G είναι το καθένα μικρότερο από 3s 4 Άσχημη κλήση: ένα από τα L και G έχει μέγεθος μεγαλύτερο από 3s 4 Μια κλήση είναι καλή με πιθανότητα 1 2 Probabilistic Fact: Ο αναμενόμενος αριθμός ρίψης κερμάτων για να φέρουμε k κορώνες είναι 2k Έτσι, για έναν κόμβο βάθους i, αναμένουμε ότι: i 2 κόμβοι πατέρες σχετίζονται με καλές κλήσεις Το μέγεθος της ακολουθίας εισόδου για την παρούσα κλήση είναι το πολύ Έτσι,έχουμε Για έναν κόμβο βάθους 2log 4 3 n, το αναμενόμενο μέγεθος της ακολουθίας εισόδου είναι ένα Το αναμενόμενο ύψος του δέντρου quick-sort είναι O(log n) Η συνολική ποσότητα δουλειάς που γίνεται στους κόμβους του ίδιου βάθους του δέντρου quick-sort είναι O(n) Έτσι ο αναμενόμενος χρ ονος εκτέλεσης του quick-sort είναι O(n log n) (3 4) i 2 n 6/14/2007 3:42 AM Quick-Sort 14

In-Place Quick-Sort Ο Quick-sort μπορεί να υλοποιηθεί για να τρέχει in-place Στο βήμα τμηματοποίησης, εκτελούμε λειτουργίες αντικατάστασης για να επανατακτοποιήσουμε τα στοιχεία της ακολουθίας εισόδου έτσι ώστε Τα στοιχεία που είναι μικρότερα από το pivot έχουν τάξη μικρότερη από h Τα στοιχεία που είναι ίσα με το pivot έχουν τάξη ανάμεσα στο h και στο k Τα στοιχεία που είναι μεγαλύτερα από το pivot έχουν τάξη μεγαλύτερη από k Οι αναδρομικές κλήσεις θεωρούν ότι Στοιχεία με τάξη μικρότερη από h Στοιχεία με τάξη μεγαλύτερη από k Algorithm inplacequicksort(s, l, r) Input sequence S, ranks l and r Output sequence S with the elements of rank between l and r rearranged in increasing order if l r return i a random integer between l and r x S.elemAtRank(i) (h, k) inplacepartition(x) inplacequicksort(s, l, h 1) inplacequicksort(s, k 1, r) 6/14/2007 3:42 AM Quick-Sort 15

Συνόψιση αλγόριθμων ταξινόμησης Αλγόριθμος selection-sort insertion-sort Πολυπλοκό τητα O(n 2 ) O(n 2 ) Σημειώσεις in-place αργός (καλός για μικρά δεδομένα) in-place αργός (καλός για μικρά δεδομένα) quick-sort heap-sort O(n log n) expected O(n log n) in-place, randomized γρηγορότερος (καλός για μεγάλα δεδομένα) in-place γρήγορος (καλός για μεγάλα δεδομένα) ακολουθιακή πρόσβαση δεδομένων merge-sort O(n log n) Πολύ γρήγορος (καλός για 6/14/2007 3:42 AM Quick-Sort 16 τεράστια δεδομένα )