ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φ Ρ Ο Ν Τ Ι Σ Τ Η Ρ Ι Ο 1 : ΤΑΞΙΝΟΜΗΣΗ Δ Ρ Ι Τ Σ Α Σ Η Λ Ι Α Σ Υ Π Ο Ψ Η Φ Ι Ο Σ Δ Ι Δ Α Κ Τ Ο Ρ Α Σ

Σχετικά έγγραφα
Ταξινόμηση. Σαλτογιάννη Αθανασία

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

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

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

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής

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

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

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

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

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

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

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

ΠΛΗ111. Ανοιξη Μάθηµα 9 ο. Ταξινόµηση. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

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

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

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

Heapsort Using Multiple Heaps

Προγραµµατιστικές Τεχνικές

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

Π Ο Λ Ι Τ Ι Κ Α Κ Α Ι Σ Τ Ρ Α Τ Ι Ω Τ Ι Κ Α Γ Ε Γ Ο Ν Ο Τ Α

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

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων

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

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

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

ιαφάνειες παρουσίασης #4

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Φροντιστήριο 2 ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

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

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

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

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

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

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

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

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

Θέματα Προγραμματισμού Η/Υ

Η εφαρµογή xsortlab. Οπτικός τρόπος ταξινόµησης

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

Προγραμματιστικές Τεχνικές

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

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

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

Θεωρία και Αλγόριθμοι Γράφων

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016

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

Πληροφορική 2. Αλγόριθμοι

Α Ρ Ι Θ Μ Ο Σ : 6.913

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014

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

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

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

Π.Μ.. ΣΜΖΜΑΣΟ ΠΛΖΡΟΦΟΡΗΚΖ ΓΗΠΛΧΜΑΣΗΚΖ ΔΡΓΑΗΑ. Υπνινγηζηηθή ζύγθξηζε ησλ αιγνξίζκσλ Heap Sort θαη Weak Heap Sort. Βαζηιεία Φνξκόδε Α.Μ.

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

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

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

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

Προγραµµατισµός 1 Ταξινόµηση - Αναζήτηση

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

1η Σειρά Γραπτών Ασκήσεων

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

2. Α ν ά λ υ σ η Π ε ρ ι ο χ ή ς. 3. Α π α ι τ ή σ ε ι ς Ε ρ γ ο δ ό τ η. 4. Τ υ π ο λ ο γ ί α κ τ ι ρ ί ω ν. 5. Π ρ ό τ α σ η. 6.

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

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

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

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

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Advanced Data Indexing

ΗΥ-150. Ταξινόµηση και Αναζήτηση

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Διάλεξη 17η: Ταξινόμηση και Αναζήτηση

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

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

242 -ΕισαγωγήστουςΗ/Υ

ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Transcript:

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φ Ρ Ο Ν Τ Ι Σ Τ Η Ρ Ι Ο 1 : ΤΑΞΙΝΟΜΗΣΗ Δ Ρ Ι Τ Σ Α Σ Η Λ Ι Α Σ Υ Π Ο Ψ Η Φ Ι Ο Σ Δ Ι Δ Α Κ Τ Ο Ρ Α Σ

ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΤΑΞΙΝΟΜΗΣΗΣ Ορισμός ταξινόμησης 2 Κατηγορίες αλγορίθμων ταξινόμησης

Ορισμός Ταξινόμησης 3 Εύρεση μιας αλγοριθμικής διαδικασίας που επιφέρει τάξη σε ένα σύνολο S, τοποθετώντας τα στοιχεία του με αύξουσα σειρά.

Κατηγορίες αλγορίθμων ταξινόμησης 1. Βάσει των πράξεων (συγκρίσεις) στο σύνολο S 2. Βάσει της Πληροφορίας Εισόδου (επίτευξη καλύτερου χρόνου),π.χ. ακεραίων. 3. Βάσει του χώρου αποθήκευσης της εισόδου - Κύριας Μνήμης (Internal Sorting) - Δευτερεύουσας Μνήμης (External Sorting) 4

Αλγόριθμοι ταξινόμησης 5 Βάσει συγκρίσεων Φυσαλίδας (Bubble Sort) Σωρού (Heap Sort) Με συμβολή (Merge Sort) Εισαγωγής (Insertion Sort) Γρήγορη Ταξινόμηση (Quick Sort) Βάσει πληροφορίας εισόδου Ταξινόμηση με μέτρηση (Counting Sort) Radix Sort Bucket Sort

Tαξινόμηση Φυσαλίδας (Bubble Sort) 6

Ταξινόμηση Φυσαλίδας (Bubble Sort) 7 77 42 35 12 101 5 42 77 35 12 101 5 42 35 77 12 101 5 Παράδειγμα Σύνολο προς ταξινόμηση S = {77,42,35,12,101,5} 42 35 12 77 101 5 42 35 12 77 101 5 42 35 12 77 5 101 35 42 12 77 5 101

Ταξινόμηση Φυσαλίδας (Bubble Sort) 35 42 12 77 5 101 8 35 12 42 77 5 101 35 12 42 77 5 101 35 12 42 5 77 101 12 35 42 5 77 101 12 35 42 5 77 101

Ταξινόμηση Φυσαλίδας (Bubble Sort) 12 35 42 5 77 101 9 12 35 5 42 77 101 12 35 5 42 77 101 12 5 35 42 77 101 5 12 35 42 72 101 Ταξινομημένο σύνολο δεδομένων 5 12 35 42 72 101

Insertion Sort (Ταξινόμηση με Εισαγωγή) 10

Ταξινόμηση με Εισαγωγή Παράδειγμα S = {29 10 14 37 13} 1. 29 10 14 37 13 2. 29 29 14 37 13 3. 10 29 14 37 13 4. 10 29 29 37 13 5. 10 14 29 37 13 6. 10 14 29 37 13 7. 10 14 14 29 37 11 1. Αντιγραφή 10 2. Ολίσθηση 29 3. Εισαγωγή 10, Αντιγραφή 14 4. Ολίσθηση 29 5. Εισαγωγή 14, Αντιγραφή 37, Εισαγωγή 37 στην κορυφή της θέσης του 6. Αντιγραφή 13 7. Ολίσθηση 14 10 13 14 29 37 Ταξινομημένο σύνολο

Ταξινόμηση Σωρού (Heap Sort) 12 Βήμα 1: Από το μη ταξινομημένο σύνολο,επέλεξε το μεγαλύτερο στοιχείο, έστω m. Αφαίρεσέ το από το S και τοποθέτησε ως το μικρότερο(αριστερότερο) στοιχείο, ενός ταξινομημένου συνόλου O. Βήμα 2: S = S {m}, ώστε η εύρεση του μεγαλύτερου στοιχείου του S να είναι αποδοτική. Βήμα 3: Θέσε S = S και πήγαινε στο βήμα 1.

Ταξινόμηση Σωρού (Heap Sort) 13 Η Ταξινόμηση Σωρού αποτελείται από δύο φάσεις: Φάση 1-Φάση Δόμησης: Μετατρέπω τον πίνακα S = {s 1, s 2,, s n } σε σωρό ξεκινώντας από την θέση 1. Φάση 2-Φάση Διαλογής: Διαλέγω και απομακρύνω το μεγαλύτερο στοιχείο, το οποίο θα το φέρω στην ρίζα του σωρού ή στο S[1]. Επαναλαμβάνω για τα υπόλοιπα στοιχεία φέρνοντας το μεγαλύτερο στοιχείο στην ρίζα ξεκινώντας πάλι από την θέση 1. Θέλω πάντα να διατηρείται η ιδιότητα του Σωρού, δηλ. τιμή(πατέρας(v)) τιμή(v) Ο αλγόριθμος ταξινόμησης σωρού, χρειάζεται O(nlogn) συγκρίσεις στη χειρότερη περίπτωση για να ταξινομήσει σόνολο n στοιχείων.

Ταξινόμηση Σωρού (Heap Sort) Παράδειγμα Έστω S = {3,8,2,1,4,9,7} 3 14 8 2 1 4 9 7

Ταξινόμηση Σωρού (Heap Sort) Παράδειγμα Έστω S = {3,8,2,1,4,9,7} 3 15 8 2 1 4 9 7 3 8 2 1 4 9 7

Ταξινόμηση Σωρού (Heap Sort) Παράδειγμα Έστω S = {3,8,2,1,4,9,7} 3 16 8 9 1 4 2 7 3 8 9 1 4 2 7

Ταξινόμηση Σωρού (Heap Sort) Παράδειγμα Έστω S = {3,8,2,1,4,9,7} 9 17 8 3 1 4 2 7 9 8 3 1 4 2 7

Ταξινόμηση Σωρού (Heap Sort) Παράδειγμα Έστω S = {3,8,2,1,4,9,7} 9 18 8 7 1 4 2 3 9 8 7 1 4 2 3

Ταξινόμηση Σωρού (Heap Sort) Παράδειγμα Έστω S = {3,8,2,1,4,9,7} 3 19 8 7 1 4 2 3 8 7 1 4 2 9

Ταξινόμηση Σωρού (Heap Sort) Παράδειγμα Έστω S = {3,8,2,1,4,9,7} 8 20 4 7 1 3 2 8 4 7 1 3 2 9

Ταξινόμηση με Συμβολή (Merge Sort) Η βασική ιδέα του αλγόριθμου: 21 Βήμα 1. Διαχώρισε την είσοδο σε δύο τμήματα ίσου περίπου μεγέθους Βήμα 2. Ταξινόμησε τα δύο τμήματα Βήμα 3. Παρήγαγε την τελική ταξινομημένη ακολουθία με συγχώνευση (merging) των δύο ταξινομημέων ακολουθιών

Ταξινόμηση με Συμβολή (Merge Sort) 22

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα Έστω S ={12, 25,57,42,43,19,28,40} 23 12 25 57 42 43 19 28 40

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα Έστω S ={12, 25,57,42,43,19,28,40} 24 12 25 57 42 43 19 28 40 12 25 57 42 43 19 28 40

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα Έστω S ={12, 25,57,42,43,19,28,40} 25 12 25 57 42 43 19 28 40 12 25 57 42 43 19 28 40 12 25 57 42 43 19 28 40

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα Έστω S ={12, 25,57,42,43,19,28,40} 26 12 25 57 42 43 19 28 40 12 25 57 42 43 19 28 40 12 25 57 42 43 19 28 40 12 25 57 12 43 19 28 40

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα 27 12 25 57 42 43 19 28 40 12 25 42 57 19 43 28 40 12 25 42 57 19 43 28 40

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα 28 12 25 57 42 43 19 28 40 12 25 42 57 19 43 28 40 12 25 42 57 19 43 28 40

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα 29 12 25 42 57 19 43 28 40 12 25 42 57 19 43 28 40 12 25 42 57 19 28 40 43

Ταξινόμηση με Συμβολή (Merge Sort) Παράδειγμα 30 12 25 42 57 19 43 28 40 12 25 42 57 19 43 28 40 12 25 42 57 19 28 40 43 12 19 25 28 40 42 43 57

Γρήγορη Ταξινόμηση (Quick Sort) 31

Γρήγορη Ταξινόμηση (Quick Sort) 32

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 33 43 74 22 42 54 11 63 76 32 Left Right

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 43 74 22 42 54 11 63 76 32 Left 74 > 43 Right 32 43

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 43 32 22 42 54 11 63 76 74 Left Right

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 43 32 22 42 54 11 63 76 74

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 43 32 22 42 11 54 63 76 74 Left Right

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 43 32 22 42 11 54 63 76 74 Left Right Οι δείκτες διασταυρώθηκαν οπότε εναλλάσσω τον οδηγό (pivot) με τον δείκτη Right.

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 11 32 22 42 43 54 63 76 74 Left Right Οι δείκτες διασταυρώθηκαν οπότε εναλλάσσω τον οδηγό (pivot) με τον δείκτη Right. Τμήμα ΜΗΧΑΝΙΚΩΝ Η/Υ &

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 11 32 22 42 43 54 63 76 74 Left Right Τιμές pivot Τιμές > pivot

Γρήγορη Ταξινόμηση (Quick Sort) Παράδειγμα Έστω S = {43, 74, 22, 42, 54, 11, 63, 76, 32}, Pivot = 43 11 32 22 42 43 54 63 76 74 Left Right Τιμές pivot Τιμές > pivot Επαναλαμβάνουμε την ίδια διαδικασία για τους υποπίνακες που προέκυψαν

Κάτω όριο ταξινόμησης βάσει συγκρίσεων 42

Άποψη Δένδρου Απόφασης 43 s1:s2 < = > 1,2,3 s2:s3 < = > s1:s3 > < = 2,13 s1:s3 > s2:s3 < = > 1,3,2 3,1,2 2,3,1 3,2,1 Ταξινόμηση μεγέθους 3 S = {s1,s2,s3}

44 ΑΛΓΟΡΙΘΜΟΙ ΤΑΞΙΝΟΜΗΣΗς ΒΑΣΙΖΟΜΕΝΟΙ ΣΕ ΣΥΓΚΡΙΣΕΙΣ- ΤΑΞΙΝΟΜΗΣΗΣ ΑΚΕΡΑΙΩΝ

Ταξινόμηση με Μέτρηση 45

Ταξινόμηση με Μέτρηση 46

Παράδειγμα Ταξινόμηση με Μέτρηση 1 2 3 4 5 6 7 8 Α 5 1 1 2 3 6 3 3 47 C 1 2 3 4 5 6 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 2 0 0 0 1 0 2 1 0 0 1 0 2 1 1 0 1 0 2 1 3 0 1 1

Παράδειγμα Ταξινόμηση με Μέτρηση 1 2 3 4 5 6 7 8 Α 5 1 1 2 3 6 3 3 48 C 1 2 3 4 5 6 2 3 6 6 7 8 B 3 C 2 3 5 6 7 8

Ταξινόμηση Radix 49

Ταξινόμηση Radix 50

Παράδειγμα Ταξινόμηση Radix L = {329,257,892,749,587,134,305}, d = 3 ψηφία, βάση = 10 L 329 257 892 749 587 134 305 B 51 0 1 2 3 4 5 6 7 8 9 892 134 305 587 749 257 329 1 πέρασμα

Παράδειγμα Ταξινόμηση Radix L = {329,257,892,749,587,134,305} 52 L 892 B 0 1 2 3 4 5 6 7 8 9 134 305 587 305 329 134 749 257 587 892 257 749 329 2 πέρασμα

Παράδειγμα Ταξινόμηση Radix L = {329,257,892,749,587,134,305} 53 L 305 B 0 1 2 3 4 5 6 7 8 9 329 134 749 134 257 305 587 749 892 257 587 329 892 3 πέρασμα

Παράδειγμα Ταξινόμηση Radix L = {329,257,892,749,587,134,305} 54 134 257 305 Ταξινομημένη Λίστα 329 587 749 892

Ταξινόμηση Υβριδική 55

Παράδειγμα Ταξινόμηση Υβριδική Α = {0.28,0.42,0.12,0,85,0.47,0.26,0.39,0.02,0.17,0.78} 56 Α 0.78 0.17 B 0 1 2 3 4 5 6 7 8 9 0.02 0.39 0.26 0.02 0.12 0.26 0.39 0.42 0.78 0.85 0.47 0.85 0.17 0.28 0.47 0.12 0.42 n = 10, k = 10 0.28

Παράδειγμα Ταξινόμηση Υβριδική Α = {0.28,0.42,0.12,0,85,0.47,0.26,0.39,0.02,0.17,0.78} 57 0.02 0.12 0.17 0.26 0.28 Ταξινομημένη Λίστα 0.39 0.42 0.47 0.78 0.85

58 ΤΕΛΟΣ