ίκτυα Ταξινόµησης (CLR κεφάλαιο 28)

Σχετικά έγγραφα
Αλγόριθµοι και Πολυπλοκότητα

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

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

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

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

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

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

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

Πρόταση. f(x) ομοιόμορφα συνεχής στο I. δ (ɛ) > 0 : x, ξ I, x ξ < δ (ɛ, ξ) f(x) f(ξ) < ɛ. ɛ > 0, δ > 0 : ΜΗ ομοιόμορφα συνεχής.

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

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

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

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35)

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

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

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

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

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

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

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

Παράλληλοι Αλγόριθµοι

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

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

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

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

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

a 1 a 2 a n. 3. i = j 1 5. A[i + 1] = A[i] 6. i = i 1

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

ΜΕΜ251 Αριθμητική Ανάλυση

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

Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012

ΑΝΑΛΥΣΗ 1 ΕΙΚΟΣΤΟ ΕΒΔΟΜΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

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

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

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

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

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

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

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

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013

Μαθηµατικά για Πληροφορική

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

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

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων

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

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

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

f(t) = (1 t)a + tb. f(n) =

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-1

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

Heapsort Using Multiple Heaps

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

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

περιεχόμενα ρυθιμός αύξησης συναρτήσεων ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση ασυμπτωτικοί συμβολισμοί ασυμπτωτικός συμβολισμος

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

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

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

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

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

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

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

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

Λύσεις των ϑεµάτων, ΑΠΕΙΡΟΣΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι, 3/2/2010

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

ΕΠΛ 232 Φροντιστήριο 2

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

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

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

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

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

ρυθιμός αύξησης συναρτήσεων

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

a n = sup γ n. lim inf n n n lim sup a n = lim lim inf a n = lim γ n. lim sup a n = lim β n = 0 = lim γ n = lim inf a n. 2. a n = ( 1) n, n = 1, 2...

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

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

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ

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

Transcript:

ίκτυα Ταξινόµησης (CLR κεφάλαιο 28) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα σύγκρισης, δίκτυα ταξινόµησης Αρχή - ιτονική ταξινόµηση ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-

Μοντέλο στο οποίο ίκτυο Ταξινόµησης. η µόνη δυνατή πράξη είναι η σύγκριση. 2. πολλές συγκρίσεις µπορούν να γίνουν ταυτόχρονα. Συγκριτής: δέχεται δύο δεδοµένα εισόδου α, β και επιστρέφει στην "πάνω" του έξοδο το µικρότερο και στην "κάτω" το µεγαλύτερο α min(α,β) β max(α,β) ίκτυο σύγκρισης: ένα δίκτυο από συγκριτές. ίκτυο ταξινόµησης: ένα δίκτυο σύγκρισης το οποίο ταξινοµεί το δεδοµένο εισόδου του. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-2

α β γ δ ίκτυα Ταξινόµησης Α Γ Ε Β a b c d Το πιο πάνω δίκτυο σύγκρισης αποτελείται από 5 συγκριτές, τους Α, Β, Γ,, Ε. Παρατηρούµε ότι το δεδοµένο εξόδου του είναι το δεδοµένο εισόδου ταξινοµηµένο. Συγκεκριµένα, το ελάχιστο των α, β, βγαίνει στην πάνω έξοδο του Α και το ελάχιστο των γ, δ, βγαίνει στην πάνω έξοδο του Β, οι δύο αυτό τιµές συγκρίνονται από τον Γ, ο οποίος επιστρέφει στην έξοδο a, την ελάχιστη (εκ των α,β,γ,δ) τιµή. Παρόµοια το συνολικό µέγιστο βγαίνει στην έξοδο d, ενώ τα ενδιάµεσα στοιχεία βγαίνουν ταξινοµηµένα στις γραµµές εξόδου b και c. Παρατήρηση: οι συγκριτές Α και Β µπορούν να παράξουν τα αποτελέσµατα τους ταυτόχρονα (παράλληλα). Το ίδιο ισχύει για τους συγκριτές Γ και. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-3

Ορισµοί Ορίζουµε: Βάθος ενός δικτύου το µήκος ενός µακρύτερου µονοπατιού από µια γραµµή εισόδου σε µια γραµµήεξόδου. (Στο παράδειγµα, το βάθος είναι 3) Μέγεθος ενός δικτύου: οαριθµός συγκριτών που περιέχει. (Στο παράδειγµατοµέγεθος είναι 5) Χρόνος εκτέλεσης ενός δικτύου σύγκρισης είναι ο χρόνος που χρειάζεται για να λάβουν όλες οι γραµµές εξόδου τις τιµές τους εφόσον όλες οι γραµµές εισόδου έχουν λάβει τα δεδοµένα εισόδου. Ο χρόνος εκτέλεσης ενός δικτύου σύγκρισης δίνεται από το βάθος του. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-4

Παράδειγµα ίκτυο ταξινόµησης βασισµένο στον αλγόριθµο Selection Sort. Βασικό συγκρότηµα: το δίκτυο που βρίσκει το µέγιστο: max To δίκτυο συµπληρώνεται αναδροµικά: βρες το µέγιστο από τα υπόλοιπα στοιχεία, κ.ο.κ. A B Γ ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-5

Παράδειγµα Ποιο είναι το βάθος του δικτύου για ταξινόµηση n στοιχείων; Φαίνεται να είναι Θ(n²), υπάρχουν n- + n-2 + + Θ(n²) συγκριτές. Όµως, λόγω του ότι συγκρίσεις µπορούν να γίνουν παράλληλα (pipelining) το βάθος είναι 2n-3 (για τη φάση Α χρειάζεται χρόνος n-, αλλά κάθε µια από τις επόµενες n-2 φάσεις απαιτεί µια ακόµα µονάδα χρόνου εφόσον, όλες εκτός από την τελευταία σύγκριση, µπορούν να γίνονται ταυτόχρονα µε συγκρίσεις της "προηγούµενης" φάσης. Συνεπώς το πιο πάνω δίκτυο ταξινόµησης είναι ταχύτερο από κάθε ακολουθιακό αλγόριθµο που βασίζεται σε συγκρίσεις (Ω(n lg n)) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-6

Κάτω φράγµα παράλληλης ταξινόµησης Κάθε δίκτυο ταξινόµησης αντιστοιχεί σε ένα παράλληλο αλγόριθµο που πραγµατοποιεί ταυτόχρονα πολλές συγκρίσεις. Πόσο γρήγορα µπορούµε να ταξινοµούµε παράλληλα; (Πόσο είναι το ελάχιστο δυνατό βάθος ενός δικτύου ταξινόµησης;) Όλες οι συγκρίσεις που γίνονται από συγκριτές σε ένα δίκτυο ταξινόµησης µπορούν να προσοµοιωθούν σειριακά. Άρα πρέπει να υπάρχουν Ω(n lg n) συγκριτές. Σε κάθε "στρώµα" του δικτύου µπορούν να γίνουν το πολύ n/2 συγκρίσεις. Έτσι πρέπει να υπάρχουν Ω(lg n) στρώµατα. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-7

Αρχή - Πόσο γρήγορα µπορούµε να ελέγξουµε αλγοριθµικά αν ένα δίκτυο σύγκρισης είναι δίκτυο ταξινόµησης; Να ελέγξουµε για κάθε µια από τις n! µεταθέσεις n αριθµών αν το δίκτυο επιστρέφει στις εξόδους του την ακολουθία ταξινοµηµένη. Χρονική πολυπλοκότητα: Ω(n!) Μπορεί να γίνει ο έλεγχος πιο γρήγορα; ΘΕΩΡΗΜΑ (Αρχή -) Αν ένα δίκτυο σύγκρισης µε n εισόδους ταξινοµεί κάθε µια από τις ακολουθίες από και, τότε είναι δίκτυο ταξινόµησης (δηλαδή, ταξινοµεί οποιαδήποτε ακολουθία εισόδου). ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-8

Αρχή - ΑΠΟ ΕΙΞΗ Έστω ότι η f είναι µια µονοτονικά αύξουσα συνάρτηση, δηλαδή, αν x y, τότε f(x) f(y). Τότε min(f(x),f(y)) = f(min(x,y)) και max(f(x),f(y)) = f(max(x,y)) ΛΗΜΜΑ Αν ένα δίκτυο απεικονίζει την ακολουθία εισόδου a, a 2,, a n στην ακολουθία εξόδου b, b 2,, b n, τότε απεικονίζει την ακολουθία εισόδου f(a ), f(a 2 ),, f(a n ) στην ακολουθία εξόδου f(b ), f(b 2 ),, f(b n ). ΑΠΟ ΕΙΞΗ Με επαγωγή στο βάθος του δικτύου. Υποθέτουµε για να φτάσουµε σε αντίφαση, ότι για κάποιο δίκτυο σύγκρισης µε n εισόδους που ταξινοµεί κάθε µια από τις ακολουθίες από και, υπάρχει ακολουθία εισόδου a, a 2,, an τέτοια ώστε a i < a j, αλλά το a i είναι πιο κάτω από το a j στην ακολουθία εξόδου. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-9

Αρχή - Ορίζουµε τη συνάρτηση f ( x) =,, x a x > a i i Η f είναι µονοτονικά αύξουσα συνάρτηση. Από το Λήµµα, το δίκτυο απεικονίζει την ακολουθία εισόδου f(a ), f(a 2 ),, f(a n ) στην ακολουθία εξόδου µε το f(a i ) πιο κάτω από το f(a j ). Από την υπόθεση, η ακολουθία εξόδου είναι ταξινοµηµένη, δηλαδή f(a j ) f(a i ). Aπό τον ορισµό της f, f(a j )=, f(a i )=. Αντίφαση. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-

Κατασκευή ενός δικτύου ταξινόµησης Βήµα της κατασκευής Μια ακολουθία ονοµάζεται διτονική, αν. είτε αρχικά είναι µονοτονικά αύξουσα και στη συνέχεια είναι µονοτονικά φθίνουσα, 2. είτε αρχικά είναι µονοτονικά φθίνουσα και στη συνέχεια είναι µονοτονικά αύξουσα. π.χ.,2,3,5,4,2, 9,5,3,,2,4,7,,2,3. ιτονικές ακολουθίες από και, έχουν µια από τις µορφές ή. Γραφικά ή Θα κατασκευάσουµε ένα δίκτυο διτονικής ταξινόµησης, δηλαδή ένα δίκτυο το οποίο ταξινοµεί κάθε διτονική ακολουθία από και. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-

ίκτυο του ηµι-καθαριστή Βασικό δοµικό στοιχείο ενός δικτύου διτονικής ταξινόµησης είναι το δίκτυο του ηµι-καθαριστή. ΛΗΜΜΑ Έστω ότι η είσοδος ενός ηµικαθαριστή είναι διτονική δυαδική ακολουθία. Τότε η έξοδος έχει τις εξής ιδιότητες:. και η πάνω και η κάτω ηµιακολουθίες είναι διτονικές 2. κάθε στοιχείο στην πάνω ηµιακολουθία είναι µικρότερο ή ίσο από κάθε στοιχείο στην κάτω ηµιακολουθία 3. είτε η πάνω είτε η κάτω ηµιακολουθία είναι "καθαρή" δηλαδή αποτελείται από µόνο ή µόνο. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-2

Απόδειξη Εξετάζουµε την περίπτωση που η είσοδος έχει τη µορφή Υπάρχουν οι εξής περιπτώσεις ακολουθία πάνω και κάτω µετά τη εισόδου υποακολουθίες σύγκριση ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-3

Απόδειξη ακολουθία πάνω και κάτω µετά τη εισόδου υποακολουθίες σύγκριση Όµοια εξετάζεται και η περίπτωση που η είσοδος έχει τη µορφή ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-4

ιτονική ταξινόµηση Άρα ένα δίκτυο διτονικής ταξινόµησης µπορεί να κατασκευαστεί αναδροµικά µε τη χρήση. ενός ηµικαθαριστή (ο οποίος θα µοιράσει το δεδοµένο εισόδου σε δύο υποακολουθίες για τις οποίες ισχύει ότι κάθε στοιχείο στην πάνω ηµιακολουθία είναι το µικρότερο ή ίσο µε κάθε στοιχείο στην κάτω ηµιακολουθία) και στη συνέχεια 2. δύο δικτύων διτονικής ταξινόµησης µισού µεγέθους για ταξινόµηση των δύο ηµιακολουθιών. ηµικαθαριστής µε n εισόδους διτονικός ταξινοµητής µε n/2 εισόδους διτονικός ταξινοµητής µε n/2 εισόδους Βάθος D(n) = D(n/2) + = D(n/4) + + = = lg n ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-5

εύτερη φάση της κατασκευής Θα κατασκευάσουµε ένα δίκτυο συγχώνευσης, δηλαδή ένα δίκτυο το οποίο µε δεδοµένο δύο ταξινοµηµένες ηµιακολουθίες τις συγχωνεύει επιστρέφοντας την ακολουθία ταξινοµηµένη. Βασικό δοµικό στοιχείο ενός δικτύου διτονικής ταξινόµησης είναι το δίκτυο του τροποποιηµένου ηµι-καθαριστή. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-6

Τροποποιηµένος ηµικαθαριστής ΛΗΜΜΑ Με δεδοµένο εισόδου δύο ταξινοµηµένες ηµι-ακολουθίες, η έξοδος του τροποποιηµένου ηµι-καθαριστή είναι δύο διτονικές ακολουθίες όπου. κάθε στοιχείο στην πάνω ηµιακολουθία είναι το πολύ ίσο µε κάθε στοιχείο στην κάτω ηµιακολουθία και 2. είτε η πάνω είτε η κάτω ηµιακολουθία είναι "καθαρή" δηλαδή αποτελείται από µόνο ή µόνο. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-7

ίκτυο συγχώνευσης Άρα ένα δίκτυο συγχώνευσης µπορεί να κατασκευαστεί ως. ένα τροποποιηµένος ηµικαθαριστής, 2. ακολουθούµενος από δύο διτονικούς ταξινοµητές µε n/2 εισόδους τροποποιηµένος ηµι-καθαριστής µε n εισόδους διτονικός ταξινοµητής µε n/2 εισόδους διτονικός ταξινοµητής µε n/2 εισόδους Βάθος; ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-8

Τρίτη φάση της κατασκευής Πιο κάτω δίνεται δίκτυο ταξινόµησης για n στοιχεία Τ(n): Αρχικά ταξινοµούµε τις πάνω και κάτω ηµιακολουθίες µε δύο δίκτυα ταξινόµησης µε n/2 εισόδους ( Τ(n/2)), και στη συνέχεια συγχωνεύουµε τα αποτελέσµατα µε ένα συγχωνευτή µε n εισόδους ( Σ(n)). T(n/2) T(n/2) Σ(n) Ποιο είναι το βάθος του Τ(n); D(n) = D(n/2) + lg n = D(n/4) + lg(n/2) + lg n = Θ(lg² n) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-9

Τ(8) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-2