Tυχαιοποιηµένοι Αλγόριθµοι (CLR, κεφάλαιo 8.3 και 10)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Tυχαιοποιηµένοι Αλγόριθµοι (CLR, κεφάλαιo 8.3 και 10)"

Transcript

1 Tυχαιοποιηµένοι Αλγόριθµοι (CLR, κεφάλαιo 8.3 και 10) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Ο τυχαιοποιµένος αλγόριθµος QuickSort Αλγόριθµοι Επιλογής Τυχαιποιηµένος Αλγόριθµος Ο αλγόριθµος των Βlum, Floyd, Pratt, Rivest, Tarjan Ο αλγόριθµος του Freivalds Πρωτόκολα Μηδενικής Γνώσης ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-1

2 Τυχαιοποιηµένοι Αλγόριθµοι Ένας θησαυρός βρίσκεται κρυµµένος σε κάποιο νησί σε σηµείο που αποκαλύπτεται σε ένα χάρτη τον οποίο δεν έχετε ακόµα πλήρως κατανοήσει. Μέχρι στιγµής όµως έχετε καταλάβει ότι ο θησαυρός βρίσκεται σε ένα από δύο πιθανά σηµεία τα οποία απέχουν 5 µέρες το ένα από το άλλο και από το σηµείο όπου βρίσκεστε. Αν δουλέψετε 4 ακόµα µέρες πάνω στο χάρτη, τότε θα µπορούσατε να αποφασίσετε σε ποιο από τα δύο σηµεία βρίσκεται ο θησαυρός. Όµως γνωρίζετε ότι υπάρχει κάποιος δράκος ο οποίος κάθε βράδυ µεταφέρει ποσότητα x του θησαυρού στη σπηλιά του. Ένας νάνος σας προσφέρει να σας αποκαλύψει που βρίσκεται ο θησαυρός µε αντάλλαγµα την ποσότητα που θα κουβαλούσε ο δράκος σε 3 νύχτες. Σας συµφέρει να δεχτείτε την προσφορά του; ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-2

3 Τυχαιοποιηµένοι Αλγόριθµοι Τυχαιοποιηµένες αποφάσεις µερικές φορές είναι αποδοτικότερες κατά µέσο όρο από τον ακριβή υπολογισµό της σωστής απόφασης διαφορετικές εκτελέσεις του ίδιου αλγορίθµου έχουν διαφορετική συµπεριφορά µπορεί να δώσουν λανθασµένα αποτελέσµατα (µε κάποια µικρή πιθανότητα) Υπάρχουν τρεις κατηγορίες πιθανοτικών/τυχαιοποιηµένων αλγόριθµων. 1. Οι τυχαιοποιηµένοι αριθµητικοί αλγόριθµοι οι οποίοι επιστρέφουν απαντήσεις της µορφής: το ζητούµενο βρίσκεται στο διάστηµα [α..β] µε πιθανότητα γ%. 2. Οι αλγόριθµοι Monte Carlo οι οποίοι δίνουν σωστά αποτελέσµατα µε µεγάλη πιθανότητα ( 1) 3. Οι αλγόριθµοι Las Vegas οι οποίοι όταν τερµατίζουν δίνουν πάντα τη σωστή απάντηση και τερµατίζουν µε µεγάλη πιθανότητα ( 1). ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-3

4 Quicksort Πρακτικά, ο πιό γρήγορος αλγόριθµος ταξινόµησης. Στη χείριστη περίπτωση ο αλγόριθµος quicksort είναι Ο(n²). Στη µέση περίπτωση ο αλγόριθµος είναι Ο(n log n). Περιγραφή ιαδικασίας Quicksort(A[p..r]) Aν r p δεν κάνουµε τίποτα, διαφορετικά Αναδροµικά: Χωρίζουµε τον πίνακα σε δύο µέρη Α[p..q] και A[q+1,r], όπου όλα τα στοιχεία του A[p..q] είναι µικρότερα από τα στοιχεία του A[q+1..r]. Καλούµε αναδροµικά τον αλγόριθµο στα A[p..q] και Α[q+1,r]. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-4

5 Ο αλγόριθµοςquicksort Quicksort(A, p, r){ if (p<r) q = Partition (A, p, r); Quicksort(A, p, q); QuickSort(A, q+1, r); } όπου η διαδικασία Partition (A,p,r) αναδιοργανώνει τον πίνακα Α[p r] έτσι ώστε Α[p..q] να περιέχει στοιχεία A[p], A[q..r] να περιέχει στοιχεία A[p], και επιστρέφει την τίµη q. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-5

6 Η διαδικασία Partition Βασική Ιδέα της Partition Επαναλαµβάνουµε τα εξής µέχρις ότου τα i και j να διασταυρωθούν. 1. προχώρα το j προς τα αριστερά όσο τα στοιχεία που βρίσκεις είναι µεγαλύτερα του A[p], 2. προχώρα το i προς τα δεξιά όσο τα στοιχεία που βρίσκεις είναι µικρότερα του Α[p], 3. αντάλλαξε τα στοιχεία που δείχνονται από τα i και j. 4. Οταν τα i και j διασταυρωθούν επέστρεψε την τιµή του j. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-6

7 Η διαδικασία Partition Partition(A, p, r){ x = A[p]; i = p; j = r; while TRUE { while (j p and A[j] > x) j--; while (i r and A[i] < x) i++; if (i<j) swap (A, i, j); i++; j--; else return j; } ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-7

8 Ανάλυση του Χρόνου Εκτέλεσης Έστω Τ(n) o χρόνος εκτέλεσης του Quicksort µε δεδοµένο εισόδου µεγέθους n. Για τη βάση της αναδροµής έχουµε: T(0) = T(1) = c Για n 1 T(n) = T(i) + T(n-i) + cn όπου i είναι το µέγεθος είναι το µέγεθος του αριστερού κοµµατιού µετά από το Partition. Χείριστη περίπτωση: i = 0 ή n-1. Tότε Τ(n) = T(n-1) + cn και Τ(n) O(n²). Βέλτιστη περίπτωση: i = n/2 T(n) = 2 T(n/2) + cn και Τ(n) O(n log n). Μέση περίπτωση: Αν υποθέσουµε πως όλες οι περιπτώσεις για το δεδοµένο εισόδου είναι εξίσου πιθανές, έχουµε επίσης, T(n) O(n log n). ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-8

9 Τυχαιοποιηµένος Αλγόριθµος Quicksort Κατά την ανάλυση µέσης περίπτωσης του Quicksort υποθέσαµε ότι όλες οι διατάξεις του δεδοµένου εισόδου είναι εξίσου πιθανές. Με αυτή την υπόθεση ο χρόνος εκτέλεσης µέσης περίπτωσης είναι Ο(n lg n). Θα δούµε πως µε τη χρήση τυχαιοποιηµένων αποφάσεων µπορούµε να αγνοήσουµε αυτή την υπόθεση µε αποτέλεσµα αλγόριθµους που για οποιοδήποτε δεδοµένο εισόδου ο µέσος χρόνος εκτέλεσης είναι της τάξης O(n lg n). Bασική ιδέα: αντί να υποθέτουµε την ύπαρξη κάποιας κατανοµής, επιβάλλουµε την ύπαρξη κάποιας κατανοµής. Χρήση random-number generators. Random(a,b) επιστρέφει ένα ακέραιο x, a x b, µε κάθε αριθµό να είναι εξίσου πιθανός (οµοιόρφη κατανοµή). π.χ. Random(0,1) επιτρέφει είτε 0, µε πιθανότητα 1/2, είτε 1, µε πιθανότητα 1/2. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-9

10 Τυχαιοποιηµένος Αλγόριθµος Quicksort Μια δυνατότητα για τυχαιοποιηµένο αλγόριθµο ταξινόµησης είναι πριν να εφαρµόσουµε τον αλγόριθµο Quicksort να αναδιατάξουµε το δεδοµένο εισόδου µε διαδικασία η οποία επιβάλλει οµοιόµορφη κατανοµή πιθανοτήτων για κάθε διάταξη. (Μπορεί να επιτευχθεί σε χρόνο Ο(n).) εύτερη δυνατότητα είναι να διαλέξουµε το pivot χρησιµοποιώντας τυχαιοποίηση. Παρατήρηση: και στις δύο περιπτώσεις η χείριστη περίπτωση εκτέλεσης οφείλεται στην τυχαιοποιηµένη επιλογή και όχι στη µορφή του δεδοµένου εισόδου. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-10

11 Αλγόριθµος µε τυχαιοποιηµένη επιλογή pivot Randomized_Partition(A,p,r){ i=random(p,r); swap(a[r], A[i]); return Partition(A,p,r) } Randomized_Quicksort(A,p,r){ if (p<r) q=randomized_partition(a,p,r); Randomized_Quicksort(A,p,q); Randomized_Quicksort(A,q+1,r); } Για την ανάλυση του χρόνου εκτέλεσης υποθέτουµε ότι όλα τα στοιχεία του δεδοµένου εισόδου είναι ξεχωριστά. Μας ενδιαφέρει να υπολογίσουµε την πιθανότητα των διαφορετικών διαµερισµών του δεδοµένου εισόδου (της τιµής του q). ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-11

12 Αλγόριθµος µε τυχαιοποιηµένη επιλογή pivot Γνωρίζουµε ότι 1. η τιµή του i είναι κατανεµηµένη οµοιόµορφα στο διάστηµα [p,,r]. 2. η τιµή του q εξαρτάται από το rank(a[i]) = αριθµός των στοιχείων στο Α[p,,r] τα οποία είναι A[i]) Eστω ότι n είναι ο αριθµός των στοιχείων του Α[p,,r]. Εχουµε ότι 1. αν rank(a[i])=1, τότε ο Α[p,q] θα περιέχει ένα στοιχείο. 2. αν rank(a[i]) 2, τότε Α[p,q] θα περιέχει rank(a[i] 1στοιχεία. Aρα το δεδοµένο εισόδου µοιράζεται µε πιθανότητα 2/n µε 1 στοιχείο στον αριστερό υποπίνακα και n 1 στοιχεία στο δεξιό υποπίνακα, και µε πιθανότητα 1/n µε i στοιχεία στον αριστερό υποπίνακα και n i στοιχεία στο δεξιό υποπίνακα, όπου 2 i n-1. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-12

13 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα Χρόνος Εκτέλεσης O µέσος χρόνος εκτέλεσης του αλγορίθµου δίνεται από την εξίσωση Λύνοντας την εξίσωση (CRL, pages ) βρίσκουµε ότι Τ e (n) O(nlgn). + Θ = = ) ( )) ( ) ( ( 1) ( (1) 1 ) ( 1 1 n q n T q T n T T n n T n q e e e e e

14 Το πρόβληµα Αλγόριθµοι Επιλογής εδοµένο εισόδου: σύνολο Α, A =n και i, 1 i n εδοµένο εξόδου: το i-οστό στοιχείο του A, δηλαδή x A το οποίο είναι µεγαλύτερο από ακριβώς i-1 στοιχεία. Λύση 1: Ταξινόµησε το σύνολο και επέστρεψε το i-οστό στοιχείο. Χρονική πολυπλοκότητα: Ο(n lg n) Γνωρίζουµε ότι για τις περιπτώσεις i=1 και i=n (εύρεση ελάχιστου και µέγιστου στοιχείου) το πρόβληµα µπορεί να λυθεί µε n-1 συγκρίσεις, δηλαδή, σε χρόνο Θ(n). Mπορούµε να λύσουµε το πρόβληµα επιλογής σε χρόνο Θ(n); ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-14

15 Λύση 2: Αλγόριθµος διαίρει και βασίλευε Randomized_Select(A,p,r,i){ if (p=r) return A[p]; else q=randomized_partition(a,p,r); k=q-p+1; if (i k) Randomized_Select(A,p,q,i); else Randomized_Select(A,q+1,r,i-k); } Όπως και στην περίπτωση του τυχαιοποιηµένου αλγορίθµου Quicksort, o αλγόριθµος µοιράζει τα δύο µέρη ως προς κάποιο στοιχείο x σε αριστερό µέρος που περιέχει όλα τα στοιχεία που είναι του x και στο δεξιό µέρος που περιέχει όλα τα στοιχεία του x. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-15

16 Λύση 2: Αλγόριθµος διαίρει και βασίλευε Σε αντίθεση µε τον αλγόριθµο Quicksort ο πιο πάνω αλγόριθµος κάνει µια µόνο αναδροµική κλήση του εαυτού του: Αν το αριστερό µέρος περιέχει λιγότερα από i στοιχεία συνεχίζει την αναζήτηση του i-στού στοιχείου στο αριστερό µέρος, διαφορετικά αναζητεί το "κατάλληλο" στοιχείο στο δεξιό µέρος. Αφού η επιλογή του pivot είναι τυχαιοποιηµένη η χείριστη περίπτωση εκτέλεσης του αλγορίθµου δεν εξαρτάται από το δεδοµένο εισόδου, αλλά από την τυχαιοποιηµένη επιλογή. Πότε παρουσιάζεται η χείριστη περίπτωση; Χρόνος εκτέλεσης χειρίστης περίπτωσης: ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-16

17 Μέσος όρος χρόνου εκτέλεσης Γνωρίζουµε ότι η διαδικασία Randomized_Partition µοιράζει το δεδοµένο εισόδου µε πιθανότητα 2/n µε 1 στοιχείο στον αριστερό υποπίνακα και n-1 στο δεξιό υποπίνακα, και µε πιθανότητα 1/n µε i στοιχεία στον αριστερό υποπίνακα και n-i στο δεξιό υποπίνακα, όπου 2 i n-1. Αρα ο µέσος χρόνος εκτέλεσης δίνεται από την αναδροµική ανίσωση n Te ( n) Te (max(1, n 1)) T n q= 1 (max( q, n q)) + Θ( n) Μπορούµε να αποδείξουµε µε τη µέθοδο της αντικατάστασης ότι Τ e (n) O(n). e ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-17

18 Aλγόριθµος επιλογής Βlum, Floyd, Pratt, Rivest, Tarjan Ο πιο κάτω αλγόριθµος έχει χρονική πολυπλοκότητα χείριστης περίπτωσης της τάξης Ο(n). Το άνω φράγµα Ο(n) επιτυγχάνεται µε κάποια προεργασία του δεδοµένου εισόδου η οποία εγγυείται ότι εφαρµογή της διαδικασία Partition θα οδηγήσει σε ισοζυγισµένο µοίρασµα του αρχικού πίνακα. O αλγόριθµος δεν είναι τυχαιοποιηµένος. Μεσαίο στοιχείο ενός πίνακα µε n στοιχεία ονοµάζουµε το (k+1)-οστό µεγαλύτερο στοιχείο του πίνακα όπου k=n/2. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-18

19 Ο Αλγόριθµος Select(A,p,q,i) 1. µοίρασε το δεδοµένο εισόδου σε n/5 υποπίνακες µε 5 στοιχεία ο καθένας, εκτός από τον τελευταίο ο οποίος πιθανόν να έχει από 1 µέχρι 5 στοιχεία. 2. ταξινόµησε τους υποπίνακες και επέτρεψε το µεσαίο στοιχείο κάθε υποπίνακα 3. Κάλεσε αναδροµικά τη διαδικασία Select για εύρεση του µεσαίου στοιχείου x των µεσαίων στοιχείων που επιστράφηκαν στο βήµα Αντάλλαξε το στοιχείο xµε το Α[p] και εφάρµοσε στον αρχικό πίνακα τη διαδικασία Partition(A). Έστω r η θέση του τελευταίου στοιχείου στον αριστερό υποπίνακα και k ο αριθµός των στοιχείων του αριστερού υποπίνακα. 5. Αν i k κάλεσε αναδροµικά τη διαδικασία Select(Α,p, r, i) διαφορετικά, αν i>k, κάλεσε αναδροµικά τη διαδικασία Select(A,r+1,q,i-k) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-19

20 Ανάλυση Χρόνου Εκτέλεσης Παρατηρούµε ότι ο αριθµός των στοιχείων του Α που είναι µικρότερα από το στοιχείο x είναι τουλάχιστον 3n/10-6: Toυλάχιστον τα µισά από τα n/5 µεσαία στοιχεία που επιστρέφονται από το βήµα 2 είναι µικρότερα του x. Aπό αυτά τουλάχιστον όλοι εκτός από δύο από τους αντίστοιχους υποπίνακες (δηλαδή εκτός από τον τελευταίο υποπίνακα και τον πίνακα στον οποίο ανήκει το x) προσφέρουν τουλάχιστον 3 στοιχεία που είναι µικρότερα από το x. x ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-20

21 Ανάλυση Χρόνου Εκτέλεσης Άρα συνολικά τουλάχιστον 3(1/2 n/5-2) 3n/10-6 στοιχεία είναι µικρότερα του x. Eποµένως, στη χείριστη περίπτωση, η κλήση της διαδικασίας Select στο βήµα 5 του αλγορίθµου καλείται σε πίνακα µε το πολύ 7n/ στοιχεία. Έστω T(n) ο χρόνος εκτέλεσης της διαδικασίας σε δεδοµένο εισόδου µεγέθους n. Eχουµε ότι Τ(n) = T(n/5) + T(7n/10) + O(n) Mε τη µέθοδο της αντικατάστασης παίρνουµε ότι Τ(n) O(n). ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-21

22 Ο αλγόριθµος του Freivalds Έστω n n πίνακες Α, Β και C. Ερώτηµα: ΑΒ=C; Προσπάθεια 1: Πολλαπλασίασε τους πίνακες Α και Β και σύγκρινε το γινόµενό τους µε το C. Χρονική Πολυπλοκότητα: Το πρόβληµα µπορεί να λυθεί µε ένα Monte Carlo αλγόριθµο σε χρόνο Ο(n²). Ο αλγόριθµος Freivalds(A,B,C){ ιάλεξε x {0,1} n τυχαία και οµοιόµορφα if A(Bx) Cx return (AB C) else return (AB = C, probably) } ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-22

23 Ο αλγόριθµος του Freivalds Χρονική Πολυπλοκότητα: Ο(n²) για τους υπολογισµούς Bx, Α(Βx) και Cx O(n) για τον έλεγχο ΑΒx = Cx Άρα συνολικά Ο(n²) Ορθότητα Υπάρχουν δύο περιπτώσεις: 1. Αν ΑΒ = C, τότε ΑΒx = Cxγια κάθε x, εποµένως o αλγόριθµος επιστρέφει τη σωστή απάντηση µε πιθανότητα Αν ΑΒ C υπάρχει κάποια πιθανότητα να ισχύει ΑBx = Cx. ηλαδή υπάρχει κάποια πιθανότητα ο αλγόριθµος να επιστρέψει λανθασµένη απάντηση. Η πιθανότητα αυτή όµως δεν είναι πολύ µεγάλη: ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-23

24 Ο αλγόριθµος του Freivalds ΛHMMA: Έστω ότι ΑΒ C και το διάνυσµα x επιλέγεται τυχαία και οµοιόµορφα από το σύνολο {0,1} n. Τότε Pr(ABx = Cx) ½ Aπόδειξη Αφού ΑΒ C, (ΑΒ-C) 0, άρα υπάρχουν i και j για τα οποία (ΑΒ- C)[i,j] 0. Έστω (a 1, a 2,, a n ) η i-οστή σειρά του πίνακα (ΑB-C), και x, το τυχαία και οµοιόµορφα επιλεγµένο διάνυσµα, x= (x 1, x 2,, x n ) T. Θεωρήστε το άθροισµα n k= 1 a k x k ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-24

25 Ο αλγόριθµος του Freivalds Έχουµε ότι Pr((AB C)x = 0) = Pr(x 1 2 Pr( n k= 1 j a k x j k 1 = a = 0) k j a k x k ) εφόσον το a j 0 και το x j {0,1} µε ίσες πιθανότητες για κάθε περίπτωση. Συνεπώς για κάποια δεδοµένα εισόδου, ο αλγόριθµος δίνει λανθασµένη απάντηση τις µισές φορές. Τρέχοντας όµως τον αλγόριθµο µέχρι k φορές, στην περίπτωση που µας δίνει τη θετική απάντηση, µειώνουµε την πιθανότητα λανθασµένης απάντησης στο 2 -k, χωρίς να µεταβληθεί η ασυµπτωτική πολυπλοκότητα του αλγορίθµου. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-25

26 Πρωτόκολα Μηδενικής Γνώσης Έστω ότι η Alice γνωρίζει κάποιο µυστικό το οποίο δεν γνωρίζει ο Bob. Eίναι δυνατό η Αlice να πείσει τον Bob για αυτή τη γνώση της χωρίς όµως να του αποκαλύψει το µυστικό; εδοµένα: κάποιο αλγοριθµικό πρόβληµα P και στιγµιότυπο του προβλήµατος, Χ. Zητούµενο: αλγόριθµος ο οποίος πείθει τον Bob ότι P(X) = Τrue χωρίς να αποκαλύπτει οτιδήποτε για την απόδειξη P(X)= True. Θα µελετήσουµε µια αντιπροσωπευτική µορφή του προβλήµατος. Έστω P το πρόβληµα: οι κορυφές ενός γράφου µπορούν να χρωµατιστούν µε τρία χρώµατα έτσι ώστε κανένα ζεύγος γειτονικών κορυφών να µην έχουν το ίδιο χρώµα. (Το πρόβληµα αυτό δεν µπορεί να λυθεί σε πολυωνυµικό χρόνο.) Έστω Χ κάποιος γράφος. Η Alice θέλει να πείσει τον Bob ότι P(X)=True, δηλαδή ότι ο γράφος Χ µπορεί να χρωµατιστεί σύµφωνα µε τις προδιαγραφές, χωρίς όµως να αποκαλύψει στον Bob κάποιο συγκεκριµένο χρωµατισµό. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-26

27 Ο Αλγόριθµος Mέχρις ώτου πεισθεί o Bob κάνε 1. Η Αlice επιλέγει τρία χρώµατα, τα αποκαλύπτει στον Bob και δηµιουργεί κάποιο χρωµατισµό του Χ καλύπτοντας όλες τις κορυφές. 2. Ο Βοb ζητά να δεί κάποια ακµή e. 3. Η Alice αποκαλύπτει τις κορυφές στα άκρα της e=(u, v). 4. Αν οι κορυφές u και v έχουν το ίδιο χρώµα τότε ο Bob αποφασίζει ότι η Alice λέει ψέµατα, διαφορετικά ο βρόχος επαναλαµβάνεται. Έχουµε ότι 1. Η Alice µπορεί να είναι ικανοποιηµένη για το ότι δεν αποκαλύπτει κάποιο συγκεκριµένο χρωµατισµό στον Bob. 2. Ο Bob µπορεί να είναι σίγουρος ότι µετά από ένα µεγάλο αριθµό επαναλήψεων η πιθανότητα να τον ξεγελάσει η Alice ότι γνωρίζει το µυστικό, τείνει στο Αν ο γράφος έχει N ακµές, µετά την k-oστή επανάληψη, η πιθανότητα αυτή είναι... ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 11-27

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

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Κατ οίκον Εργασία 2 Σκελετοί Λύσεων 1. (α) Αλγόριθµος: ηµιούργησε το σύνολο P που αποτελείται από τα άκρα όλων των ευθυγράµµων τµηµάτων. Βρες το κυρτό περίβληµα του P µε τον αλγόριθµο του Graham. Ορθότητα:

Διαβάστε περισσότερα

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

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:

Διαβάστε περισσότερα

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

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n

Διαβάστε περισσότερα

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

Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Quicksort Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 6] Στοιχείο διαχωρισμού (pivot),

Διαβάστε περισσότερα

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

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Quicksort ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 62] Στοιχείο διαχωρισμού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35) Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Γινόµενα σηµεία, τοµή ευθυγράµµων τµηµάτων Εύρεση κυρτών περιβληµάτων: Ο αλγόριθµος του Grm και ο αλγόριθµος του

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Πρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Πίνακας Α[ Αριθµός k, 1 k n. ] µε n στοιχεία (όχι ταξινοµηµένος). Υπολογισµός του k-οστού µικρότερου στοιχείου (στοιχείο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Αλγόριθμοι ΤαξινόμησηςIII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Ε. QuickSort Γρήγορη Ταξινόμηση - Έμμεση Ταξινόμηση - Εξωτερική Ταξινόμηση Διδάσκων:

Διαβάστε περισσότερα

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

Αλγόριθμοι ταξινόμησης Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης BuubleSort, SelectionSort, InsertionSort, Merger Sort, Quick Soft ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι

Διαβάστε περισσότερα

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Επιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός

Διαβάστε περισσότερα

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

Επιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Επιλογή ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός k, 1 k n. Υπολογισμός

Διαβάστε περισσότερα

Πολυπλοκότητα Αλγορίθµων

Πολυπλοκότητα Αλγορίθµων Πολυπλοκότητα Αλγορίθµων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εµπειρική Θεωρητική Ανάλυση Αλγορίθµων Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις

Διαβάστε περισσότερα

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων EΠΛ Αλγόριθµοι και Πολυπλοκότητα Φεβρουάριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων. Ο αλγόριθµος διαίρει και βασίλευε για το πρόβληµα έχει ως εξής: Μοίρασε τον πίνακα σε δύο µισά. Υπολόγισε αναδροµικά τα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 23 Μαρτίου 2017 1 / 20 Επιλογή Το πρόβληµα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλγόριθµοι Ταξινόµησης Αλγόριθµοι Ταξινόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οι αλγόριθµοι ταξινόµησης SelectionSort, InsertionSort, Mergesort, QuickSort, BucketSort Κάτω φράγµα της αποδοτικότητας

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα

Διαβάστε περισσότερα

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

Αλγόριθµοι Ταξινόµησης Αλγόριθµοι Ταξινόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οι αλγόριθµοι ταξινόµησης SelectionSort, InsertionSort, Mergesort, QuickSort, BucketSort Κάτω φράγµα της αποδοτικότητας

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:

Διαβάστε περισσότερα

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

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/courses/algorithms/ auth 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο του προβλήματος

Διαβάστε περισσότερα

ΗΥ240 - Παναγιώτα Φατούρου 2

ΗΥ240 - Παναγιώτα Φατούρου 2 Ενότητα 8 Ταξινόµηση ΗΥ0 - Παναγιώτα Φατούρου Ταξινόµηση Θεωρούµε έναν πίνακα Α[0..n-] µε n στοιχεία στα οποία έχει ορισθεί µια γραµµική διάταξη, δηλαδή ζεύγος στοιχείων x,y του Α, είτε x < y, ή x > y

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός

Διαβάστε περισσότερα

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

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

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

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 3 5 1 Ταξινόμηση - Sorting Πίνακας Α 1 3 5 5 3 1 Ταξινόμηση (Φθίνουσα) Χωρίς Ταξινόμηση Ταξινόμηση

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(), Ω(), Θ( ) Ανάλυση Πολυπλοκότητας Αλγορίθµων

Διαβάστε περισσότερα

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

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Γ. MergeSort Ταξινόμηση με Συγχώνευση Δ. BucketSort Ταξινόμηση με Κάδους Διδάσκων:

Διαβάστε περισσότερα

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

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ 22: Αλγόριθµοι και Πολυπλοκότητα Κατ οίκον Εργασία Σκελετοί Λύσεων. (α) Έστω δροµολόγηση e, e 2,, e των εργασιών, 2,,. Τότε οι χρόνοι συµπλήρωσης των εργασιών είναι e d e e 2 d e + d e 2 e d e + d

Διαβάστε περισσότερα

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

Διάλεξη 10: Αλγόριθμοι Ταξινόμησης II ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 10: Αλγόριθμοι Ταξινόμησης II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Δ. QuickSort Γρήγορη Ταξινόμηση Ε. BucketSort

Διαβάστε περισσότερα

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

Ταξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση. Στατιστικά Διάταξης. Στατιστικά σε Μέσο Γραμμικό Χρόνο Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Στατιστικά Διάταξης Με τον όρο στατιστικά διάταξης (order statistics) εννοούμε την περίπτωση

Διαβάστε περισσότερα

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

ΕΠΛ 232 Φροντιστήριο 2 Πρόβληµα ΕΠΛ Φροντιστήριο Έχετε 0 και θέλετε να τις επενδύσετε για n µήνες. Tην πρώτη µέρα κάθε µήνα έχετε µόνο µια από τις παρακάτω τρεις επιλογές:. Να αγοράσετε ένα πιστοποιητικό αποταµίευσης από την

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε

Διαβάστε περισσότερα

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k

Διαβάστε περισσότερα

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

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 5) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Βραχύτερα Μονοπάτια για όλα τα Ζεύγη Λύση υναµικού Προγραµµατισµού Ο αλγόριθµος των Floyd-Warshal ΕΠΛ 3

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για

Διαβάστε περισσότερα

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ 1 Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 009 Κατ οίκον Εργασία 1 Σκελετοί Λύσεων Άσκηση 1 Αρχικά θα πρέπει να υπολογίσουμε τον αριθμό των πράξεων που μπορεί να εκτελέσει ο υπολογιστής σε μια ώρα,

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι - Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

Διαβάστε περισσότερα

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

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.

Διαβάστε περισσότερα

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

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2

Διαβάστε περισσότερα

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή 3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ 3.1 ΑΝΑ ΡΟΜΗ 3.1.1 Εισαγωγή ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Αναδροµή είναι η µέθοδος κατά την οποία, σε µία γλώσσα προγραµµατισµού, µία διαδικασία ή συνάρτηση έχει την δυνατότητα

Διαβάστε περισσότερα

Πιθανοτικοί Αλγόριθμοι

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

Διαβάστε περισσότερα

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

Αλγόριθμοι Ταξινόμησης Μέρος 2 Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 9: Ταξινόμηση Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 9: Ταξινόμηση Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 9 Ταξινόμηση ΗΥ240 - Παναγιώτα Φατούρου 2 Ταξινόμηση Θεωρούμε έναν πίνακα

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν

Διαβάστε περισσότερα

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

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΑΛΓΟΡΙΘΜΟΙ  Άνοιξη I. ΜΗΛΗΣ ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf6/ Άνοιξη 07 - I. ΜΗΛΗΣ ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Divide ad Coquer (D&C) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 07 - Ι. ΜΗΛΗΣ - 05 - DIVIDE & CONQUER II Divide & Coquer Αναδρομικά (μέχρι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Παράλληλοι Αλγόριθµοι Παράλληλοι Αλγόριθµοι Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Το µοντέλο PRAΜ Πολλαπλασιασµός πινάκων Υπολογισµός αθροισµάτων προθέµατος ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 13-1 Παράλληλοι Αλγόριθµοι

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 28 Μαΐου 2015 1 / 45 Εισαγωγή Ο δυναµικός

Διαβάστε περισσότερα

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

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης Δοµές Δεδοµένων 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι Ε. Μαρκάκης Περίληψη Bubble Sort Selection Sort Insertion Sort Χαρακτηριστικά επιδόσεων Shellsort Ταξινόµηση συνδεδεµένων λιστών Δοµές Δεδοµένων

Διαβάστε περισσότερα

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αναζήτηση με linearsearch, binarysearch, ternarysearch - Ανάλυση Πολυπλοκότητας ternarysearch

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

Διαβάστε περισσότερα

Τεχνικές Σχεδιασμού Αλγορίθμων

Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Διαίρει και Βασίλευε Δυναμικός Προγραμματισμός Απληστία Π. Μποζάνης ΤHMMY - Αλγόριθμοι 2014-2015 1 Διαίρει και Βασίλευε Βασικά Βήματα Διαίρει: Κατάτμηση του αρχικού προβλήματος

Διαβάστε περισσότερα

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση

Διαβάστε περισσότερα

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

Στοιχεία Αλγορίθµων και Πολυπλοκότητας Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις

Διαβάστε περισσότερα

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

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές Κεφάλαιο Παραγοντοποίηση σε Ακέραιες Περιοχές Γνωρίζουµε ότι στο Ÿ κάθε στοιχείο εκτός από το 0 και τα ± γράφεται ως γινόµενο πρώτων αριθµών κατά τρόπο ουσιαστικά µοναδικό Από τη Βασική Άλγεβρα ξέρουµε

Διαβάστε περισσότερα

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort

Διαβάστε περισσότερα

p

p ΑΝΑ ΡΟΜΙΚΗ ΤΑΞΙΝΟΜΗΣΗ- ΑΣΚΗΣΕΙΣ Οι μέθοδοι ταξινόμησης QUICK SORT και MERGE SORT κωδικοποιούνται εύκολα αναδρομικά Oι δυο αναδροµικοί µέθοδοι δέχονται 1ο όρισµα τον πίνακα, και δεν επιστρέφουν τίποτα.

Διαβάστε περισσότερα

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

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

Διαβάστε περισσότερα

Αναδρομικοί Αλγόριθμοι

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

Διαβάστε περισσότερα

Αλγόριθµοι Οπισθοδρόµησης

Αλγόριθµοι Οπισθοδρόµησης Αλγόριθµοι Οπισθοδρόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Η οπισθοδρόµηση στο σχεδιασµό αλγορίθµων Το πρόβληµα των σταθερών γάµων και ο αλγόριθµος των Gale-Shapley Το πρόβληµα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 8 Quick Sort 1 / 11 Ο αλγόριθμος QuickSort 1 Προτάθηκε από τον CAR (Tony) Hoare το 1961 2 Ο αλγόριθμος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

ΚΕΦΑΛΑΙΟ 2 ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΚΕΦΑΛΑΙΟ ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ Η αδυναµία επίλυσης της πλειοψηφίας των µη γραµµικών εξισώσεων µε αναλυτικές µεθόδους, ώθησε στην ανάπτυξη αριθµητικών µεθόδων για την προσεγγιστική επίλυσή τους, π.χ. συν()

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 10: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Δ. QuickSort Γρήγορη Ταξινόμηση Ε. BucketSort Ταξινόμηση με Κάδους - Έμμεση Ταξινόμηση

Διαβάστε περισσότερα

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

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης

Διαβάστε περισσότερα

HY118- ιακριτά Μαθηµατικά. Μαθηµατική επαγωγή. 11 Επαγωγή

HY118- ιακριτά Μαθηµατικά. Μαθηµατική επαγωγή. 11 Επαγωγή Επαγωγή HY8- ιακριτά Μαθηµατικά Τρίτη, /03/06 Μαθηµατική Επαγωγή Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University

Διαβάστε περισσότερα

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

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA Αριθµοθεωρητικοί Αλγόριθµοι και το Κρυπτοσύστηµα RSA Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Υπολογισµός Μέγιστου Κοινού ιαιρέτη Αλγόριθµος του Ευκλείδη Κλάσεις Ισοδυναµίας και Αριθµητική modulo

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 1 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική

Διαβάστε περισσότερα