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

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

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

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

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

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

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

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

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

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

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

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

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2

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

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

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

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

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

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

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

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

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

Υπολογιστικά & Διακριτά Μαθηματικά

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

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

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

Διαδικαστικός Προγραμματισμός

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Αλγόριθμοι και Δομές Δεδομένων(Θ) Ευάγγελος Γ. Ούτσιος

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

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

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

Εισαγωγή στον δομημένο προγραμματισμό

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7

Μοντελοποίηση Λογικών Κυκλωμάτων

Δομές Δεδομένων Ενότητα 2

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Αλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

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

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

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

Εισαγωγή στους Αλγόριθμους

Προχωρημένες έννοιες προγραμματισμού σε C

Δομές Δεδομένων. Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός. Καθηγήτρια Μαρία Σατρατζέμη

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Διάλεξη 04: Παραδείγματα Ανάλυσης

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Οικονομικά Μαθηματικά

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

Λογιστικές Εφαρμογές Εργαστήριο

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Συνδυαστική Ανάλυση Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

Επιχειρησιακή Έρευνα

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Υπολογιστικά & Διακριτά Μαθηματικά

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

Ταξινόμηση. 1. Ταξινόμηση του Shell. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 9: Στατιστικά Διάταξης- Στατιστικά σε Μέσο Γραμμικό Χρόνο Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη

Στατιστικά Διάταξης Με τον όρο στατιστικά διάταξης (order statistics) εννοούμε την περίπτωση όπου δεδομένου ενός πίνακα Α με αταξινόμητα στοιχεία, πρέπει να αναζητήσουμε το μικρότερο, το μεγαλύτερο, το μεσαίο ή γενικά το -οστό στοιχείο του πίνακα με βάση την τιμή του κλειδιού του. Εστω ότι θέλουμε να αναζητήσουμε ταυτόχρονα το μικρότερο και το μεγαλύτερο στοιχείο ενός πίνακα. Η προφανής λύση είναι να εκτελέσουμε σαρώσεις, μια σάρωση για την εύρεση του μικρότερου και στη συνέχεια μια σάρωση για την εύρεση του μεγαλύτερου στοιχείου. Είναι ευνόητο ότι η πολυπλοκότητα αυτής της προσέγγισης είναι Θ(). Στη συνέχεια παρουσιάζουμε έναν αλγόριθμο που με μια σάρωση επιτυγχάνουμε ταυτόχρονη εύρεση των δυο στοιχείων. 4

Αλγόριθμος maxmi. max A[]; mi A [];. for i to do. if A [i] > max max A[i]; 4. if A [i] < mi mi A[i]; 5. retur max, mi Η παραπάνω προσέγγιση είναι απλοϊκή αν και γίνεται μια σάρωση του πίνακα, κάθε στοιχείο υποβάλλεται σε συγκρίσεις. Θα βοηθούσε αν αντικαταστούμε τις εντολές -4 με τις εντολές:. if A [i] > max max A[i]; 4. else if A [i] < mi mi A[i]; Και αυτή η εκδοχή μπορεί αν αποδειχθεί ότι δε βοηθάει τη χειρότερη περίπτωση. Ο επόμενος αλγόριθμος προσπαθεί να εκμεταλλευτεί τη τεχνική διαίρει και βασίλευε. 5

Υποθέτει ότι με τα ορίσματα i και j δίνουμε τα όρια του πίνακα και με τα ορίσματα fmax, fmi μας επιστρέφονται οι τιμές που μας ενδιαφέρουν. Επίσης υποθέτουμε ότι η συνάρτηση max επιστρέφει το μέγιστο μεταξύ στοιχείων και η mi επιστρέφει το ελάχιστο μεταξύ στοιχείων. Αλγόριθμος maxmi(i, j, fmax, fmi). if i == j. max A[i]; mi A[i];. else if i == j - the 4. if A[i] < A[j] 5. fmax A[j]; fmi A[i]; 6. else 7. fmax A[i]; fmi A[j]; 8. else 9. middle (i + j)/; 0. maxmi(i, middle, gmax,, gmi);. maxmi(middle+, j, hmax,, hmi);. fmax max(gmax, hmax);. fmi mi(gmi, hmi); 6

Εστω ότι το περιεχόμενο του πίνακα Α με τα 9 στοιχεία 5,, 7, 56, 5, 0, 9, 90, 45. Στο παρακάτω σχήμα απεικονίζεται ένα δένδρο με κόμβους που περιέχουν τα ορίσματα των κλήσεων. Διασχίζοντας το δένδρο με προτεραιότητα κατά βάθος (dfs) μπορούμε να αποτυπώσουμε την ακριβή σειρά των διαφόρων κλήσεων /8, 9, 90, 5 Χρονική στιγμή έναρξης/ Χρονική στιγμή ολοκλήρωσης / /7, 5, 7, 5 6, 9, 90, 0 /8 9/0 /4 5/6,, 7, 4, 5, 56, 5 6, 7, 9, 0 8, 9, 90, 45 4/5 6/7,, 5,,, 7, 7 4 5 6 7 8 9 5 7 56 5 0 9 90 45 7

Πρόταση Η πολυπλοκότητα του maxmi είναι Θ() στη χειρότερη περίπτωση Απόδειξη Η πολυπλοκότητα αυτού του αλγόριθμου μπορεί να βρεθεί επιλύοντας της ακόλουθη αναδρομική σχέση ( ) 0 όπου οι σταθεροί όροι εκφράζουν το κόστος των συγκρίσεων στις εντολές 4 και -. Θεωρώντας ότι =. και με διαδοχικές αντικαταστάσεις έχουμε 8

... 0 x x x x x x... 0 i i γεωμετρική σειρά Ο παραπάνω αλγόριθμος είναι βελτιωμένος και δεν υπερβαίνει το όριο Θ() 4 4 4 4 4 8 8 8 4 8 4......... = 9

Στατιστικά με Μέσο Γραμμικό Χρόνο Εστω ότι επιθυμούμε να βρούμε το -οστό στοιχείο σε αταξινόμητο πίνακα. Αυτό μπορεί να γίνει ταξινομώντας τον πίνακα και λαμβάνοντας το περιεχόμενο της αντίστοιχης θέσης του πίνακα. Ηδη έχουμε αποδείξει ότι το κάτω όριο των αλγόριθμων ταξινόμησης που στηρίζονται σε συγκρίσεις είναι Ω(log ). Επομένως το όριο αυτό προσδιορίζει και τη πολυπλοκότητα της μεθόδου που ανάγει το πρόβλημα της αναζήτησης στοιχείου σε πρόβλημα ταξινόμησης. Στη συνέχεια θα επιλύσουμε το πρόβλημα της αναζήτησης του -οστού στοιχείου με μια μέθοδο που στηρίζεται στη γρήγορη ταξινόμηση. 0

Αλγόριθμος fid(a, left, right, );. if left == right the retur A[left]. else. lo left; hi right + ; pivot A[left]; 4. do 5. do lo lo+ while A[lo] <= pivot; 6. do hi hi - while A[hi] >= pivot; 7. if lo < hi the swap(a[lo], A[hi]); 8. while hi >= lo; 9. swap(a[left], A[hi]); 0. if ( == hi) retur A[hi];. else if ( < hi) fid(a, left, hi-, );. else fid(a, hi+, right, -hi) Οι εντολές -9 αντιστοιχούν με τις αντίστοιχες εντολές της γρήγορης αναζήτησης

O αλγόριθμος fid είναι σχεδόν ταυτόσημος με τη γρήγορη αναζήτηση. Συγκεκριμένα οι εντολές -9 αντιστοιχούν με τις αντίστοιχες εντολές της γρήγορης αναζήτησης, καθώς αφορούν στις διαδικασίες επιλογής του pivot και του διαμερισμού. Στη συνέχεια διαφοροποιούνται οι εντολές 0-. Όταν το pivot οριστικοποιείται στη θέση hi του πίνακα αποφασίζουμε αν θα τερματίσουμε ή θα συνεχίσουμε την αναζήτηση του -οστού στοιχείου στον αριστερό ή στο δεξιό υποπίνακα με αναδρομικό τρόπο.

Πρόταση Η πολυπλοκότητα του fid είναι Θ( ), Θ() και Θ() στη χειρότερη στη μέση και στη καλύτερη περίπτωση. Απόδειξη Κατ αρχήν η χειρότερη περίπτωση είναι Θ( ), και αυτό συμβαίνει όταν το επιλεγόμενο pivot είναι το μικρότερο ή το μεγαλύτερο στοιχείο. Θα μελετήσουμε τη μέση περίπτωση για την οποία ισχύει η () 0 ( ) ( ) ( ) () () () Ο όρος του δεξιού σκέλους αντιστοιχεί στις συγκρίσεις που θα εκτελεσθούν κατά τη σάρωση του πίνακα (εντολές 5-6) πριν επιτευχθεί η διαμέριση. Με αρχικές συνθήκες Τ(0) = 0, Τ() =, έχουμε τη σχέση: πολλαπλασιάζουμε επί και προκύπτει η () στην ίδια σχέση αντικαθιστούμε το με - και πολλαπλασιάζουμε με -, οπότε προκύπτει η (4): ( ) ( ) ( ) (4) Αφαιρώντας τα αντίστοιχα σκέλη των σχέσεων () & (4)

() ) ( ) ( ) ( ) ( ) ( H...... ) ( Αθροίζοντας αντίστοιχα τα αριστερά και δεξιά σκέλη και απλοποιώντας προκύπτει : Έπεται ότι η πολυπλοκότητα της μέσης περίπτωσης της fid είναι Θ() - όροι 4 H l log See Epp, Example.4.6 &.4.7

Τέλος Ενότητας