Δηάιεμε 13: Αιγόξηζκνη Ταμηλόκεζεο

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

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

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

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

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

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

x x x x tan(2 x) x 2 2x x 1

Άσκηση 1 - Μοπυοποίηση Κειμένου

Γηάιεμε 14: Αιγόξηζκνη Ταμηλόκεζεο

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

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

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Γηάιεμε 15: Αιγόξηζκνη Ταμηλόκεζεο

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

Αντισταθμιστική ανάλυση

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

Κόληξα πιαθέ ζαιάζζεο κε δηαζηάζεηο 40Υ40 εθ. Καξθηά 3 θηιά πεξίπνπ κε κήθνο ηξηπιάζην από ην πάρνο ηνπ μύινπ θπξί κεγάιν θαη ππνκνλή

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

Δηάιεμε 10: Λίζηεο Υινπνίεζε & Εθαξκνγέο

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

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

ΗΜΔΡΟΜΗΝΙΑ. ΟΝΟΜΑΣΔΠΩΝΤΜΟ.. ΒΑΘΜΟΛΟΓΙΑ..

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

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

Constructors and Destructors in C++

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

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

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

Ονομαηεπώνυμο: Μάθημα: Υλη: Δπιμέλεια διαγωνίζμαηος: Αξιολόγηζη :

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Α Καθοπιζμόρ απμοδιοηήηυν - 1 επικεθαλήρ 1. Γ Αςηοτία ζηη ζήπαγγα Β 1 επικεθαλήρ εξ. ζηελεσορ. Ε Ποζοηική ανάλςζη Γ 3 εξ.

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

Ανάπηςξη Δθαπμογών ζε Ππογπαμμαηιζηικό Πεπιβάλλον

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Πανελλήνια Έρεσνα «Καηαναλωηής & Ελληνικό Προϊόν»

γηα ηνλ Άξε Κσλζηαληηλίδε

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Άζθεζε 2ε ΤΣΗΜΑΣΑ ΔΛΔΓΥΟΤ ΑΝΟΙΚΣΟΤ ΒΡΟΥΟΤ ΚΑΙ MATLAB

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και. εκτέλεση ππογπάμματορ

όπνπ Κ Ρ u(t) u(t) Pe(t) e(t) 2015 Κ. Παξίζεο, Καζεγεηήο 1

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΚΦΩΝΗΣΕΙΣ. Διάρκεια: 3 ώρες Ημερομηνία: 12/5/2019 Έκδοση: 1 η. Τα sites blogs που συμμετέχουν (σε αλφαβητική σειρά):

ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ

Κεφάλαιο 8.6. Πίνακες ΙI (Διάλεξη 17)

Έωρ και 28% η αύξηζη ηων ειζθοπών από ηο 2019!

(άρθρο 8 Ν.1599/1986)

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

Transcript:

Δηάιεμε 13: Αιγόξηζκνη Ταμηλόκεζεο Σηελ ελόηεηα απηή ζα κειεηεζνύλ ηα εμήο επηκέξνπο ζέκαηα: Οι αλγόπιθμοι ηαξινόμηζηρ SelectionSort, InsertionSort, Σηιρ επσόμενερ διαλέξειρ θα δούμε ηοςρ αλγόπιθμοςρ Mergesort, QuickSort, BucketSort ηδάζθσλ: εµήηξεο Ζετλαιηπνύξ 13-1

Αιγόξηζκνη ηαμηλόκεζεο Δνζέλησλ κηαο ζπλάξηεζεο f (ordering function) θαη ελόο ζπλόινπ ζηνηρείσλ x, 1 x,..., x n ε ηαμηλόκεζε ζπλίζηαηαη ζηε κεηάζεζε ησλ ζηνηρείσλ ώζηε λα κπνπλ ζε κηα ζεηξά xk,x 1 ε νπνία λα ηθαλνπνηεί ή f ( f ( x x k k 1 1 ) ) k f ( f (,..., x x x k k k n ) )...... αύξοςζα ζειπά θθίνοςζα ζειπά Ταμηλόκεζε Ολνκάησλ: f( Maria ) < f( Michalis ), δειαδή ε ζπλάξηεζε f ζπγθξίλεη ηηο δπν ιέμεηο αιθαξηζκεηηθά. f ( f ( x x k n k n ) ). Θα εξεηάζοςμε αλγόπιθμοςρ ηαξινόμηζηρ με κύπιο γνώμονα ηην αποδοηικόηηηά ηοςρ (σπόνορ εκηέλεζηρ, σπήζη μνήμηρ). 13-

1/5) Ταμηλόκεζε κε Επηινγή - Selection Sort Η Ταξινόμηζη με Επιλογή (Selection Sort) βαζίδεηαη ζηα αθόινπζα ηξία βήκαηα: 1. επηινγή ηνπ ειάρηζηνπ ζηνηρείνπ. αληαιιαγή κε ην i-νζηό ζηνηρείν (i είλαη κηα κεηαβιεηή πνπ απμάλεηαη θαηά έλα). 3. επαλάιεςε ησλ βεκάησλ 1 θαη γηα ηα ππόινηπα ζηνηρεία. 13-3

Παξάδεηγκα Selection Sort Θέζη 0 1 3 4 5 pos Απσικόρ Πίνακαρ 34 8 64 51 3 33 Με i=0 8 34 64 51 3 33 Σηνηρείν πνπ ζα εηζαρζεί ζηελ ζέζε i Με i=1 8 3 64 51 34 33 Με i= 8 3 33 51 34 64 Με i=3 8 3 33 34 51 64 Με i=4 8 3 33 34 51 64 13-4

Αιγόξηζκνο Selection Sort void SelectionSort(int A[],int n){ for (int i=0; i<n-1; i++){ // θέζη επόμενος μικπόηεπος ζηοισείος - απσικοποίηζη pos=i; // βπερ ηο μικπόηεπο ζηοισείο for (j = i+1; j < n, j++){ if A[j]<A[pos] pos=j; // θέζη μικπόηεπος if (pos!= i) { // ανηάλλαξε ηο A[i] με ηο A[pos] temp = A[i]; A[i] = A[pos]; A[pos] = temp; 34 8 64 51 3 33 13-5

Εθηέιεζε Selection Sort BEFORE: [8,4,8,43,3,5,,1,10,] Swapping 8 <-> 1 [1,4,8,43,3,5,,8,10,] Swapping 4 <-> [1,,8,43,3,5,4,8,10,] Swapping 8 <-> 3 [1,,3,43,8,5,4,8,10,] Swapping 43 <-> 4 [1,,3,4,8,5,43,8,10,] Swapping 8 <-> 5 [1,,3,4,5,8,43,8,10,] [1,,3,4,5,8,43,8,10,] Swapping 43 <-> 8 [1,,3,4,5,8,8,43,10,] Swapping 43 <-> 10 [1,,3,4,5,8,8,10,43,] AFTER: [1,,3,4,5,8,8,10,43,] 13-6

Αλάιπζε Φξόλνπ Εθηέιεζεο Selection Sort void SelectionSort(int A[],int n){ for (int i=0; i<n-1; i++){ // θέζη επόμενηρ ανηαλλαγήρ pos=i; O(1) // βπερ ηο μικπόηεπο ζηοισείο for (j = i+1; j < n, j++){ if A[j]<A[pos] pos=j; Ο(i) if (pos!= i) { // ανηάλλαξε ηο A[i] με ηο A[pos] temp = A[i]; A[i] = A[pos]; A[pos] = temp; O(1) O(1) O(1) Εζυηεπικόρ Βπόσορ (Ελάσιζηο μεηαξύ i): Σε ρξόλν O(i) Εξυηεπικόρ Βπόσορ (Επανάλητη εζυηεπικού κόμβος N-1 θοπέρ): i ( n 1)( n 1 1) n) O( n i n 1 ( n 1) n 1 ( n ) 13-7

{ ) Ταμηλόκεζε κε Εηζαγσγή - Insertion Sort Η Ταξινόμηση με Εισαγωγή (Insert Sort) εηζάγεη έλα-έλα ηα ζηνηρεία ηνπ ζπλόινπ πνπ εμεηάδεηαη, ζηε ζσζηή ηνπο ζέζε. Σηε θάζε i: 1. ππνζέηνπκε πσο ν πίλαθαο A[0..(i-1)] είλαη ηαμηλνκεκέλνο,. εηζάγνπκε ην ζηνηρείν Α[i] ζηελ αθνινπζία Α[0..(i-1)] ζηε ζσζηή ζέζε. Απηό επηηπγράλεηε κεηαθηλώληαο όια ηα ζηνηρεία πνπ είλαη κεγαιύηεξα ηνπ Α[i] κηα ζέζε δεμηά. sorted notsorted {A[i] 7 17 9 5 7 11 13-8

{ { { { ) Ταμηλόκεζε κε Εηζαγσγή - Insertion Sort Η ταξινόμηση με εισαγωγή (Insertion Sort) εηζάγεη έλα-έλα ηα ζηνηρεία ηνπ ζπλόινπ πνπ εμεηάδεηαη, ζηε ζσζηή ηνπο ζέζε. Σηε θάζε i: 1. ππνζέηνπκε πσο ν πίλαθαο A[0..(i-1)] είλαη ηαμηλνκεκέλνο,. εηζάγνπκε ην ζηνηρείν Α[i] ζηελ αθνινπζία Α[0..(i-1)] ζηε ζσζηή ζέζε. Απηό επηηπγράλεηε κεηαθηλώληαο όια ηα ζηνηρεία πνπ είλαη κεγαιύηεξα ηνπ Α[i] κηα ζέζε δεμηά. sorted 7 17 A[i] 9 1 sorted 7 17 9 notsorted 7 11 {5 5 notsorted {A[i] 7 11 3 A[i] 9 7 17 sorted 5 notsorted 7 11 13-9

Παξάδεηγκα Insertion Sort Θέζη 0 1 3 4 5 Απσικόρ Πίνακαρ 34 8 64 51 3 1 Σηνηρείν πνπ ζα εηζαρζεί Με i=1 8 34 64 51 3 1 Με i= 8 34 64 51 3 1 Οη ζθηαζκέλνη αξηζκνί ηελ ζηηγκή i, είλαη ηαμηλνκεκέλνη Με i=3 8 34 51 64 3 1 Με i=4 8 3 34 51 64 1 Με i=5 8 1 3 34 51 64 13-10

Αιγόξηζκνο Insertion Sort void ΙnsertionSort(int A[], int n){ for (i=1; i < n; i++) { // ζηοισείο ειζαγωγήρ index = A[i]; // μεηακίνηζη ζηοισείων δεξιά for (j=i; j>0; j--){ // θέλοςμε να μεηακινήζοςμε μόνο ηα A[j-1] > index if (A[j-1] <= index) { break; A[i] sorted notsorted 9 A[j] = A[j-1]; j=i 7 17 5 7 11 // ηοποθέηηζη ζηοισείος A[j] = index; { A[j-1] index=9 { 13-11

Εθηέιεζε Insertion Sort BEFORE:[8,4,8,43,3,5,,] ηαξινομημένα ζηοισεία) (Το κόκκινο δείσνει ηα i:1(index:4) >8 ( > Δείχνει τις μετακινήσεις) [4,8,8,43,3,5,,] (Νέορ Πίνακαρ) i:(index:8) (Τίποηα δεν μεηακινείηαι) [4,8,8,43,3,5,,] i:3(index:43) (Τίποηα δεν μεηακινείηαι) [4,8,8,43,3,5,,] i:4(index:3) >43>8>8>4 [3,4,8,8,43,5,,] sorted { 7 17 A[j-1] A[i] 9 j=i index=9 notsorted { 5 7 11 i:5(index:5) >43>8>8 [3,4,5,8,8,43,,] i:6(index:) >43>8>8>5>4>3 [,3,4,5,8,8,43,] AFTER:[,3,4,5,8,8,43,] 13-1

Αλάιπζε Φξόλνπ Εθηέιεζεο Insertion Sort void ΙnsertionSort(int A[], int n){ for (i=1; i < n; i++) { // ζηοισείο ειζαγωγήρ index = A[i]; // μεηακίνηζη ζηοισείων δεξιά for (j=i; j>0; j--){ if (A[j-1] <= index) { break; A[j] = A[j-1]; // ηοποθέηηζη ζηοισείος A[j] = index; Ο(i) Εζυηεπικόρ Βπόσορ (Ελάσιζηο μεηαξύ i): Σε ρξόλν O(i) Εξυηεπικόρ Βπόσορ (Επανάλητη εζυηεπικού κόμβος N-1 θοπέρ): ( n 1)( n 1 1) ( n 1) n 1 i i n 1 ( n n) O( n ) 13-13

Σύγθξηζε Insertion Sort θαη Selection Sort Υπάξρνπλ δπν θξηηήξηα: Βήμαηα (κέρξη λα βξσ έλα ζηνηρείν) θαη Μεηακινήζειρ (όηαλ ην βξσ πόζα swap θάλσ). Ο αιγόξηζκνο Selection sort απαηηεί πάληα Ο(n²) βήμαηα (δελ είλαη δπλαηή ε γξήγνξε έμνδνο από ηνπο βξόρνπο), έηζη ε βέιηηζηε πεξίπησζε είλαη ε ίδηα κε ηε ρείξηζηε πεξίπησζε. Σηνλ αιγόξηζκν Insertion Sort, είλαη δπλαηό λα βγνύκε από ην δεύηεξν βξόρν γξήγνξα. Σηε βέιηηζηε πεξίπησζε (ν πίλαθαο είλαη ήδε ηαμηλνκεκέλνο), ν ρξόλνο εθηέιεζεο είλαη ηεο ηάμεο Ω(n) βήμαηα. Παξά ηνύηνπ, ην Selection Sort είλαη πην απνδνηηθόο αλ θξίλνπκε ηνπο αιγόξηζκνπο κε βάζε ηνλ αξηζκό ησλ μεηακινήζευν (swaps) πνπ απαηηνύλ: ην selection sort απαιηεί Ο(n) κεηαθηλήζεηο, ην insertion sort, απαιηεί Ο(n²) κεηαθηλήζεηο (ζηε ρείξηζηε πεξίπησζε όπνπ ν αξρηθόο πίλαθαο είλαη ηαμηλνκεκέλνο ζε θζίλνπζα ζεηξά). 13-14