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

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

Αριθµητική Ανάλυση. Ενότητα 6 Αριθµητική Παραγώγιση και Ολοκλήρωση. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

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

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

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

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

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

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

Τµήµα Πληροφορικής και Τηλεπικοινωνιών

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

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

Ορισμός κανονικής τ.μ.

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

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

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Διοικητική Λογιστική

Εισαγωγή στους Υπολογιστές

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Αποτελεσματικότητα αλγορίθμων

Διδακτική των εικαστικών τεχνών Ενότητα 1

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Αριθµητική Ανάλυση. Ενότητα 4 Αριθµητικός Υπολογισµός Ιδιοτιµών και Ιδιοδιανυσµάτων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

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

Βέλτιστος Έλεγχος Συστημάτων

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

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ

Φιλοσοφία της Ιστορίας και του Πολιτισμού

Διδακτική των εικαστικών τεχνών Ενότητα 3

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Επιστηµονικός Υπολογισµός Ι Ενότητα 5 - Επίλυση Γραµµικών Συστηµάτων. Ευστράτιος Γαλλόπουλος

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στις Επιστήμες της Αγωγής

P (B) P (B A) = P (AB) = P (B). P (A)

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

Κβαντική Επεξεργασία Πληροφορίας

Διδακτική των εικαστικών τεχνών Ενότητα 2

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Έλεγχος Ποιότητας Φαρμάκων

Γενική Φυσική Ενότητα: Ταλαντώσεις

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

Διδακτική Απειροστικού Λογισμού

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 9: Αναδρομή

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

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

Ψηφιακή Επεξεργασία Εικόνων

Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

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

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Τίτλος Μαθήματος. Ενότητα 1: Γενικά περί λογικού προγραμματισμού

Εορτολογία. Ενότητα 4: Οι Εορτές της Αναλήψεως και της Πεντηκοστής. Γεώργιος Φίλιας Θεολογική Σχολή Τμήμα Κοινωνικής Θεολογίας

Διδακτική των εικαστικών τεχνών Ενότητα 2

Κβαντική Επεξεργασία Πληροφορίας

Διδακτική Πληροφορικής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας

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

Πιθανότητες και Στατιστική Ενότητα 2: Δεσμευμένη πιθανότητα και στοχαστική ανεξαρτησία Αντώνιος Οικονόμου Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής κ

Έννοιες Φυσικών Επιστημών Ι

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

Ηλεκτρονική. Ενότητα 9: Τρανζίστορ Επίδρασης Πεδίου (FET) Αγγελική Αραπογιάννη Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής

Υπολογιστική άλγεβρα Ενότητα 1: Πολυωνυμικές σχέσεις και ταυτότητες, μέρος Ι

Επεξεργασία Στοχαστικών Σημάτων

Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής

Συστήματα Επικοινωνιών

Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

Προγραμματισμός Η/Υ. 8 η ενότητα: Περιβαλλοντικά και μαθηματικά προβλήματα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

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

Διοικητική Λογιστική

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

Εισαγωγή στην πληροφορική

Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση

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

Transcript:

Αλγόριθµοι και Πολυπλοκότητα Ενότητα 2 ιαίρει και Βασίλευε Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 1 / 24

Επιλογή Το πρόβληµα της επιλογής Εισοδος: Ενα σύνολο A µε n (διαφορετικούς) αριθµούς και ένας αριθµός i, όπου 1 i n. Εξοδος: Το στοιχείο x A το οποίο είναι µεγαλύτερο από ακριβώς i 1 άλλα στοιχεία του A. Μπορεί να επιλυθεί σε χρόνο O(n log n). Ταξινοµούµε τους αριθµούς και στη συνέχεια απλώς επιλέγουµε το i-οστό στοιχείο. Ωστόσο, υπάρχουν και ταχύτεροι αλγόριθµοι για την επίλυση του προβλήµατος αυτού. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 2 / 24

Επιλογή Τυχαιοκρατική Επιλογή Ο αλγόριθµοςτυχαιοκρατικήεπιλογή ϐασίζεται στη λογική του αλγορίθµου της ταχυταξινόµησης. Η ϐασική ιδέα είναι να διαµερίσουµε τη συστοιχία εισόδου αναδροµικά. Αντίθετα µε την ταχυταξινόµηση, όµως, η οποία επεξεργάζεται αναδροµικά και τα δυο σκέλη της διαµέρισης, ητυχαιοκρατικήεπιλογή περιορίζεται στο ένα σκέλος. Ενώ η ταχυταξινόµηση έχει αναµενόµενο χρόνο εκτέλεσης Θ(n log n), ο αναµενόµενος χρόνος τηςτυχαιοκρατικήεπιλογή είναιθ(n), υπό την προϋπόθεση ότι τα στοιχεία εισόδου είναι διαφορετικά µεταξύ τους. Ο χρόνος εκτέλεσης χειρότερης περίπτωσης τηςτυχαιοκρατικήεπιλογή είναιθ(n 2 ), ακόµη και για να ϐρούµε το ελάχιστο. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 3 / 24

Επιλογή Τυχαιοκρατική Επιλογή Τυχαιοκρατική Επιλογή (A, p, r, i) 1 αν p = r 2 τότε επιστροφή A[p] 3 q Τυχαιοκρατική ιαµέριση (A, p, r) 4 k q p+1 5 αν i = k το Ϲητούµενο στοιχείο είναι το οδηγό 6 τότε επιστροφή A[q] 7 αλλιώς-αν i < k 8 τότε επιστροφή Τυχαιοκρατική Επιλογή (A, p, q 1, i) 9 αλλιώς επιστροφή Τυχαιοκρατική Επιλογή (A, q + 1, r, i k) k A[q] A[q] p q r Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 4 / 24

Επιλογή Παράδειγµα Βρείτε το µικρότερο έβδοµο (i = 7) στοιχείο. ιαµέριση: Επιλογή του 7 4 = 3 ου στοιχείου αντίστοιχα Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 5 / 24

Επιλογή Πολυπλοκότητα κατά µέσο όρο n 1 E[T(n)] E[T(max(k 1, n k))]+o(n). n k=1 { k 1 εάν k > n/2, max(k 1, n k) = n k εάν k n/2. Ανω ϕράγµα της µέσης τιµής E[T(n)] E[T(n)] 2 n n 1 k= n/2 E[T(k)] + O(n). Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 6 / 24

Επιλογή Επίλυση αναδροµικής σχέσης Ας υποθέσουµε ότι E[T(n)] cn για κάποια σταθερά c > 0 η οποία ικανοποιεί τις αρχικές συνθήκες της αναδροµικής σχέσης.. Επίσης, υποθέτουµε ότι T(n) = O(1) για n < n 0, το n 0 ϑα επιλεγεί στη συνέχεια. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 7 / 24

Επιλογή E[T(n)] 2 n 1 ck + an n k= n/2 = 2c n 1 n/2 1 k k +an n k=1 k=1 = 2c ( (n 1)n ( n/2 1) n/2 n 2 2 2c ( (n 1)n (n/2 2)(n/2 1) n 2 2 = 2c ( n 2 n n2 /4 3n/2+2 n 2 2 = c ( 3n 2 n 4 + n ) 2 2 + an ( 3n = c 4 + 1 2 2 ) + an n 3cn 4 + c 2 + an ( cn = cn 4 c ) 2 an. ) + an ) + an ) + an Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 8 / 24

Επιλογή Επίλυση αναδροµικής σχέσης (Τελικό ϐήµα) cn/4 c/2 an 0 n(c/4 a) c/2 c/4 a > 0 c > 4a n c/2 c/4 a = 2c c 4a = n 0. Εποµένως, εάν υποθέσουµε ότι T(n) = O(1) για n < n 0, έχουµε E[T(n)] = O(n). Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 9 / 24

Επιλογή (Selection) Το πρόβληµα της επιλογής ίνεται µια ακολουθία S από n στοιχεία και ένας ακέραιος k, όπου 1 k n. Να προσδιοριστεί το k µικρότερο στοιχείο στην S. Ορισµός: Βαθµός: Τα στοιχεία ενός συνόλου A ικανοποιούν µια γραµµική διάταξη< τότε και µόνον τότε αν 1 για a, b A, a < b, a = b ή b < a και 2 για a, b, c A, αν a < b και b < c, τότε a < c Για µια ακολουθία S = {s 1, s 2,..., s n } της οποίας τα στοιχεία είναι και στοιχεία ενός συνόλου µε γραµµική διάταξη, ο ϐαθµός ενός στοιχείου s i του S είναι το πλήθος των στοιχείων του S που προηγούνται του s i συν 1. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 10 / 24

Επιλογή (Selection) Επιλογή ίνεται µια ακολουθία S = {s 1, s 2,...,s n }, της οποίας τα στοιχεία ικανοποιούν τη γραµµική διάταξη και ένας ακέραιος k, 1 k n. Ζητείται ο προσδιορισµός του στοιχείου της S µε ϐαθµό k. Το στοιχείο µε ϐαθµό k ϑα συµβολίζεται µε s (k). Πολυπλοκότητα (κάτω όριο) Αν τα στοιχεία του S είναι ταξινοµηµένα, δηλ. S = {s (1), s (2),..., s (n) }, τότε το s (k) ϐρίσκεται σε ένα ϐήµα. Αν k = 1 ή k = n και η S δεν είναι ταξινοµηµένη, τότε εξετάζοντας όλα τα στοιχεία της S διατηρώντας κάθε ϕορά το µικρότερο (k = 1) (ή το µεγαλύτερο k = n ) ϐρίσκεται το Ϲητούµενο στοιχείο. Ο ανωτέρω αλγόριθµος της αναζήτησης δεν µπορεί να εφαρµοστεί αν 1 < k < n. Αρα T(n) = Ω(n) (κάτω όριο) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 11 / 24

Επιλογή (Selection) Χαρακτηριστικά Αλγορίθµου διαίρει και ϐασίλευε αναδροµικός αλγόριθµος απορρίπτει ένα πλήθος στοιχείων σε κάθε ϐήµα Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 12 / 24

Επιλογή (Selection) S /Q S /2Q. Q 2 Q m. S 2Q Q 2 Q 2 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 13 / 24

Επιλογή (Selection) ΕΠΙΛΟΓΗ (S,k) Βήµα 1: αν S Q τότε ταξινόµησε την S και επέστρεψε το k στο στοιχείο αλλιώς υποδιαίρεσε την S σε S /Q υπακολουθίες µε Q στοιχεία η καθεµία (µέχρι Q 1 εναποµείναντα στοιχεία) τέλος αν Βήµα 2: Ταξινόµησε κάθε υπακολουθία και υπολόγισε το µέσο της. Βήµα 3: Κάλεσε την ΕΠΙΛΟΓΗ για τον υπολογισµό του m, τον µέσο των S /Q µέσων που ϐρέθηκαν στο ϐήµα 2. Βήµα 4: ηµιούργησε 3 υπακολουθίες S 1, S 2, και S 3 µε στοιχεία της S µικρότερα, ίσα και µεγαλύτερα από το m αντίστοιχα. Βήµα 5: αν S 1 k τότε {το k στο στοιχείο της S πρέπει να είναι στο S 1 } κάλεσε την ΕΠΙΛΟΓΗ για να ϐρεις το k στο στοιχείο του S 1 αλλιώς αν S 1 + S 2 k τότε επέστρεψε m {διότι το k στοιχείο S 2 } αλλιώς κάλεσε την ΕΠΙΛΟΓΗ για να ϐρεις το (k S 1 S 2 ) στο στοιχείο του S 3 {διότι το k στοιχείο S 3 }. τέλος αν τέλος αν Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 14 / 24

Επιλογή (Selection) Ανάλυση Πολυπλοκότητας Βήµα 1: ταξινόµηση της S όταν S < Q απαιτεί σταθερό χρόνο O(1). ιαφορετικά, υποδιαίρεση της S απαιτεί c 1 n χρόνο. Βήµα 2: Η ταξινόµηση κάθε S /Q υπακολουθίας (έχει Q στοιχεία) απαιτεί σταθερό χρόνο. Για όλες c 2 n χρόνο. Βήµα 3: t(n/q), t(n) : χρόνος εκτέλεσης της ΕΠΙΛΟΓΗ Βήµα 4: c 3 n Βήµα 5: ( S /2Q)x(Q/2) = S /4 στοιχεία της S είναι ίσα ή µεγαλύτερα µε m. Συνεπώς, S 1 3 S /4. Οµοια S 3 3 S /4. Συνεπώς µια αναδροµική κλήση της ΕΠΙΛΟΓΗ απαιτεί t(3n/4) χρόνο. Συνολικά: όπου c 4 = c 1 + c 2 + c 3. t(n) = c 4 n+t(n/q)+t(3n/4) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 15 / 24

Επιλογή (Selection) Προσδιορισµός του Q Αν το Q επιλεγεί τέτοιο ώστε n/q + 3n/4 < n τότε οι δυο αναδροµικές κλήσεις στον αλγόριθµο εφαρµόζονται σε ϕθίνουσες ακολουθίες. Οποιαδήποτε τιµή του Q 5 ικανοποιεί την ανωτέρω ανισότητα. Για Q = 5 έχουµε t(n) = c 4 n+t(n/5)+t(3n/4) Υποθέτοντας t(n) c 5 n έχουµε t(n) c 4 n+c 5 (19n/20) και για c 5 = 20c 4 t(n) c 5 (n/20)+c 5 (19n/20) = c 5 n t(n) = O(n) ϐέλτιστος αλγόριθµος Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 16 / 24

Επιλογή (Selection) EPILOGH ίνεται η ακολουθία S={1,14,3,4,2,6,7,4,5,8,2,1,5,12,4,3,2,8,9,10,5,2,12} και ένας ακεραίος k, 1 < k < 23. Ζητείται να προσδιοριστεί το στοιχείο της ακολουθίας µε ϐαθµό 19, δηλ. k = 19. Λύση: Επιλέγουµε το Q ώστε να πληρείται η σχέση n + 3n < Q 4 n Q > 4. Εστω Q = 5. Βήµα 1: Επειδή S = 23 > 5 = Q ϑα υποδιαιρέσουµε την S σε S /Q υποακολουθίες, δηλαδή σε 4 υποακολουθίες µε 5 στοιχεία και σε 1 υποακολουθία µε 3 στοιχεία. 1 14 3 4 2 6 7 4 5 8 2 1 5 12 4 3 2 8 9 10 5 2 12 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 17 / 24

Επιλογή (Selection) EPILOGH Βήµα 2: α) Ταξινόµηση κάθε υποακολουθίας ϐ) Βρίσκουµε το µέσο m i κάθε υποακολουθία 1 2 3 4 14 4 5 6 7 8 1 2 4 5 12 m 1 = 3 m 2 = 6 m 3 = 4 2 3 8 9 10 2 5 12 m 4 = 8 m 5 = 5 Βήµα 3: Κλήση της ΕΠΙΛΟΓΗ για τον υπολογισµό του µέσου των µέσων B 1 : 3 6 4 8 5 m 1 m 2 m 3 m 4 m 5 B 2a : 3 4 5 6 8 Ταξινόµηση των m i B 2b : m = 5 Υπολογισµός µέσου Βήµα 4: ηµιουργία 3 ανακολουθιών S 1, S 2, S 3 µε στοιχεία<,=,> 5 αντίστοιχα 1 3 4 2 4 2 1 4 3 2 2 5 5 5 14 6 7 8 12 8 9 10 12 S 1 S 2 S 3 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 18 / 24

Β3: Το µέσο των 8, 9 είναι το m = 8 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 19 / 24 Επιλογή (Selection) ΕΠΙΛΟΓΗ Παρατηρούµε ότι S 1 = 11, S 2 = 3, S 3 = 9 Βήµα 5: Παρατηρούµε ότι k = 19 > S 1 + S 2 = 14 όποτε καλούµε την ΕΠΙΛΟΓΗ στην S 3 για να ϐρούµε το K (1) new = k S 1 S 2 K (1) new = 19 14 K (1) new = 5, δηλ το 5 o στοιχείο της ακολουθίας S 3 Β1: Για Q = 5 είναι S 3 = 9 > 5 = Q όποτε S 3 /Q = 9 = 5 1.8 δηλ. ϑα υποδιαιρέσουµε την S 3 σε 1 υποακολουθία µε 5 στοιχεία και σε 1 υποακολουθία µε 4 στοιχεία 14 6 7 8 12 8 9 10 12 Β2: α) Ταξινόµηση κάθε υποακολουθίας ϐ) Εύρεση µέσου της 6 7 8 12 14 m 1 = 8 8 9 10 12 m 2 = 9

Επιλογή (Selection) ΕΠΙΛΟΓΗ Β4: ηµιουργία 3 υποακολουθιών S 1, S 2, S 3 µε στοιχεία<,=,> 8 αντίστοιχα 6 7 8 8 14 12 9 10 12 S 1 S 2 S 3 Β5: Παρατηρούµε ότι S 1 = 2, S 2 = 2, S 3 = 5 Παρατηρούµε ότι K (1) new = 5 > S 1 + S 2 = 4 οπότε καλούµε την ΕΠΙΛΟΓΗ στην S 3 για να ϐρούµε το K(2) new = K (1) new S 1 S 2 K (2) new = 5 4 K (2) new = 1 δηλ. το 1 o στοιχείο της ακολουθίας S 3 Β1 : Είναι S 3 = 5 = Q όποτε ταξινοµούµε την S 3 και επιστρέφουµε το 1 o στοιχείο. Είναι 14 12 9 10 12 S 3 9 10 12 12 14 S 3 ταξινοµηµένη. Το 1 o στοιχείο της S 3 µετά την ταξινόµηση της είναι το 9 και κατά συνέπεια αυτό είναι το Ϲητούµενο στοιχείο Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 20 / 24

Σηµειώµατα Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 21 / 24

Σηµείωµα Αναφοράς Copyright Εθνικόν και Καποδιστριακόν Πανεπιστήµιον Αθηνών 2015, Νικόλαος Μισυρλής, Αλγόριθµοι και Πολύπλοκότητα. Ενότητα 2 - ιαίρει και Βασίλευε Εκδοση:1.01. Αθήνα 2015. ιαθέσιµο από τη δικτυακή διεύθυνση:http://opencourses.uoa.gr/courses/di13/. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 22 / 24

Σηµείωµα Αδειοδότησης Το παρόν υλικό διατίθεται µε τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εµπορική Χρήση Παρόµοια ιανοµή 4.0 [1] ή µεταγενέστερη, ιεθνής Εκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. ϕωτογραφίες, διαγράµµατα κ.λ.π., τα οποία εµπεριέχονται σε αυτό και τα οποία αναφέρονται µαζί µε τους όρους χρήσης τους στο «Σηµείωµα Χρήσης Εργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εµπορική ορίζεται η χρήση: που δεν περιλαµβάνει άµεσο ή έµµεσο οικονοµικό όφελος από την χρήση του έργου, για το διανοµέα του έργου και αδειοδόχο που δεν περιλαµβάνει οικονοµική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προορίζει στο διανοµέα του έργου και αδειοδόχο έµµεσο οικονοµικό όφελος (π.χ. διαφηµίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος µπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιµοποιεί το έργο για εµπορική χρήση, εφόσον αυτό του Ϲητηθεί. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 23 / 24

ιατήρηση Σηµειωµάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού ϑα πρέπει να συµπεριλαµβάνει: το Σηµείωµα Αναφοράς το Σηµείωµα Αδειοδότησης τη δήλωση ιατήρησης Σηµειωµάτων το Σηµείωµα Χρήσης Εργων Τρίτων (εφόσον υπάρχει) µαζί µε τους συνοδευόµενους υπερσυνδέσµους. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 24 / 24