Αλγόριθμοι και Πολυπλοκότητα
|
|
- Αγάπη Βαρνακιώτης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
2 Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου με τον οποίο κλιμακώνονται οι απαιτήσεις τους για πόρους, δηλαδή ο χώρος και ο χρόνος που χρησιμοποιούν, με την αύξηση του μεγέθους της εισόδου. Χαροκόπειο Πανεπιστήμιο 2/37
3 Αποδοτικότητα Χρειαζόμαστε έναν απτό ορισμό της αποδοτικότητας που να είναι ανεξάρτητος από πλατφόρμα υλοποίησης και στιγμιότυπο εισόδου, και ο οποίος θα κάνει πρόβλεψη για τα αυξανόμενα μεγέθη της εισόδου. Χαροκόπειο Πανεπιστήμιο 3/37
4 Χρόνοι Εκτέλεσης Χειρότερης Περίπτωσης Χρόνος χειρότερης περίπτωσης. Σκοπός είναι να βρούμε ένα άνω όριο για τον χρόνο ενός αλγορίθμου σε οποιαδήποτε είσοδο μεγέθους n. Αποτυπώνει αρκετά καλά την αποδοτικότητα στην πράξη. Δρακόντειο μέτρο, αλλά δύσκολο να βρούμε καλύτερη εναλλακτική. Ανάλυση μέσης περίπτωσης. Στην ανάλυση μέσης τιμής (average-case analysis) μελετάμε την απόδοση ενός αλγορίθμου ως προς τον μέσο όρο κάποιων "τυχαίων" στιγμιοτύπων. Δύσκολο (έως αδύνατο) να μοντελοποιήσουμε πραγματικά προβλήματα με κάποια τυχαία κατανομή. Ένας γρήγορος αλγόριθμος για μια κατανομή εισόδου μπορεί να είναι πολύ αργός σε άλλη κατανομή. Χαροκόπειο Πανεπιστήμιο 4/37
5 Χώροι Αναζήτησης και Κλιμάκωση Πως ποσοτικοποιούμε την έννοια του "εύλογου" χρόνου εκτέλεσης; Χώροι αναζήτησης. Ο χώρος αναζήτησης (search space), δηλαδή ο χώρος των λύσεων ενός προβλήματος, τείνει να αυξάνεται εκθετικά σε συνάρτηση με το μέγεθος της εισόδου n. Εάν το μέγεθος της εισόδου αυξηθεί κατά ένα, ο αριθμός των δυνατοτήτων αυξάνεται πολλαπλάσια. Ωμή βία. Για πολλά προβλήματα, υπάρχει ένας φυσικός αλγόριθμος ωμής βίας (brute force) που ελέγχει όλες τις δυνατές λύσεις. Συνήθως χρειάζεται χρόνο 2 n ή περισσότερο για εισόδους μεγέθους n. Απαγορευτικό στην πράξη. Χαροκόπειο Πανεπιστήμιο 5/37
6 Χώροι Αναζήτησης και Κλιμάκωση Πως ποσοτικοποιούμε την έννοια του "εύλογου" χρόνου εκτέλεσης; Χώροι αναζήτησης. Ο χώρος αναζήτησης (search space), δηλαδή ο χώρος των λύσεων ενός προβλήματος, τείνει να αυξάνεται εκθετικά σε συνάρτηση με το μέγεθος της εισόδου n. Εάν το μέγεθος της εισόδου αυξηθεί κατά ένα, ο αριθμός των δυνατοτήτων αυξάνεται πολλαπλάσια. Καλύτερη ιδιότητα κλιμάκωσης. Θα θέλαμε ένας καλός αλγόριθμος να έχει καλύτερη ιδιότητα κλιμάκωσης: όταν το μέγεθος εισόδου αυξάνεται κατά μια σταθερή ποσότητα -- για παράδειγμα, κατά 2 -- ο αλγόριθμος θα πρέπει να επιβραδύνεται μόνο κατά ένα σταθερό συντελεστή C. Χαροκόπειο Πανεπιστήμιο 5/37
7 Πολυωνυμικός Χρόνος Ιδιότητα "Καλού" Αλγορίθμου. Υπάρχουν απόλυτες σταθερές c > 0 και d > 0 έτσι ώστε για κάθε στιγμιότυπο εισόδου μεγέθους n, ο χρόνος εκτέλεσης φράσσεται από c n d στοιχειώδη υπολογιστικά βήματα 1. Λέμε ότι ο αλγόριθμος έχει πολυωνυμικό χρόνο εκτέλεσης (polynomial running time) ή ότι είναι ένας αλγόριθμος πολυωνυμικού χρόνου (polynomial-time algorithm). 1 Επίτηδες αόριστο, μπορείτε όμως να φανταστείτε μια εντολή γλώσσας assembly ή μια εντολή γλώσσας C. Χαροκόπειο Πανεπιστήμιο 6/37
8 Πολυωνυμικός Χρόνος Κλιμάκωση. Τα όρια πολυωνυμικού χρόνου έχουν την ιδιότητα κλιμάκωσης που αναζητούμε. Αν το μέγεθος εισόδου αυξηθεί από n σε 2n, το όριο του χρόνου εκτέλεσης αυξάνεται από c n d σε c (2n) d = c 2 d n d που είναι μια καθυστέρηση κατά ένα συντελεστή 2 d. To 2 d είναι μια σταθερά αφού το d είναι σταθερά. Χαροκόπειο Πανεπιστήμιο 7/37
9 Αποδοτικός Αλγόριθμος Ορισμός. Ένας αλγόριθμος είναι αποδοτικός αν έχει πολυωνυμικό χρόνο εκτέλεσης. Γιατί; Γιατί πραγματικά δουλεύει στην πράξη! Υπάρχει σημαντική διαφορά στην πράξη μεταξύ πολυωνυμικού χρόνου και εκθετικού. Συνήθως στην πράξη οι πολυωνυμικοί αλγόριθμοι έχουν μικρές σταθερές. Παρόλο που n 100 είναι πολυώνυμο, στην πράξη δεν έχει νόημα. Μερικοί εκθετικοί (ή χειρότεροι) αλγόριθμοι χρησιμοποιούνται στην πράξη επειδή τα στιγμιότυπα χειρότερης-περίπτωσης φαίνεται πως είναι πολύ σπάνια. Χαροκόπειο Πανεπιστήμιο 8/37
10 Χρόνοι n n log 2 n n 2 n 3 n = 10 < 1 sec < 1 sec < 1 sec < 1 sec n = 30 < 1 sec < 1 sec < 1 sec < 1 sec n = 50 < 1 sec < 1 sec < 1 sec < 1 sec n = 100 < 1 sec < 1 sec < 1 sec 1 sec n = 1,000 < 1 sec < 1 sec 1 sec 18 λεπτά n = 10,000 < 1 sec < 1 sec 2 λεπτά 12 ημέρες n = 100,000 < 1 sec 2 sec 3 ώρες 32 έτη n = 1,000,000 1 sec 20 sec 12 ημέρες 31,710 έτη 1.5 n 2 n n! n = 10 < 1 sec < 1 sec 4 sec n = 30 < 1 sec < 18 λεπτά έτη n = 50 < 11 λεπτά < 36 έτη n = ,892 έτη έτη n = 1,000 n = 10,000 n = 100,000 n = 1,000,000 Χρόνοι εκτέλεσης (στρογγυλεμένοι προς τα πάνω) διαφόρων αλγορίθμων, σε επεξεργαστή που εκτελεί ένα εκατομμύριο εντολές υψηλού επιπέδου το δευτερόλεπτο. Όταν ο χρόνος εκτέλεσης υπερβαίνει τα έτη γράφουμε. Χαροκόπειο Πανεπιστήμιο 9/37
11 Ασυμπτωτικός Ρυθμός Αύξησης Εκφράζουμε λοιπόν την έννοια ότι ο χρόνος εκτέλεσης ενός αλγορίθμου στη χειρότερη περίπτωση για εισόδους μεγέθους n αυξάνεται με ένα ρυθμό που είναι το πολύ ανάλογος κάποιας συνάρτησης f(n). Συνήθως περιγράφουμε έναν αλγόριθμο σε κάποια μορφή ψευδοκώδικα, μια ενδιάμεση μορφή μεταξύ γλώσσας προγραμματισμού και αγγλικών. Όταν δίνουμε ένα όριο για το χρόνο εκτέλεσης ενός αλγορίθμου, μετράμε γενικά τον αριθμό των βημάτων ψευδοκώδικα που εκτελούνται. Χαροκόπειο Πανεπιστήμιο 10/37
12 Ασυμπτωτικός Ρυθμός Αύξησης Βήματα Ένα βήμα ενός αλγορίθμου μπορεί να είναι εκχώρηση τιμής σε μεταβλητή αναζήτηση καταχώρησης σε πίνακα, έμμεση αναφορά (dereference) ενός δείκτη εκτέλεση μιας αριθμητικής λειτουργίας σε έναν ακέραιο σταθερού μεγέθους κ.τ.λ Δεν μας ενδιαφέρει όμως με τόση λεπτομέρεια, μιας και ο ακριβής χρόνος εκτέλεσης ενός τέτοιου βήματος είναι συνάρτηση της πλατφόρμας εκτέλεσης. Χαροκόπειο Πανεπιστήμιο 11/37
13 Ασυμπτωτικός Ρυθμός Αύξησης Θα μπορούσαμε να μετράμε τον χρόνο εκτέλεσης ενός αλγορίθμου με λεπτομέρεια, π.χ f(n) = 1.62n n + 8 Προβλήματα δύσκολο να είμαστε τόσο ακριβής θέλουμε να ταξινομήσουμε αλγορίθμους σε ευρείες κατηγορίες, και άρα μικρότερο επίπεδο αναλυτικότητας η πραγματική απόδοση εξαρτάται από την πλατφόρμα εκτέλεσης, π.χ ένα μηχάνημα μπορεί να χρειάζεται 25 εντολές μηχανής χαμηλού επιπέδου για να υλοποιήσει μια εντολή υψηλού επιπέδου ενώ ένα άλλο 50. διαφορετικά μηχανήματα έχουν διαφορετικές συχνότητες και άρα πέρνει διαφορετικό χρόνο να εκτελεστεί κάθε βήμα Χαροκόπειο Πανεπιστήμιο 12/37
14 Ασυμπτωτικός Ρυθμός Αύξησης Θέλουμε λοιπόν να εκφράσουμε το ρυθμό αύξησης του χρόνου εκτέλεσης και των άλλων λειτουργιών με έναν τρόπο που να μην επηρεάζεται από.1 σταθερούς παράγοντες.2 όρους χαμηλής τάξης π.χ για την συνάρτηση f(n) = 1.62n n + 8 θα θέλαμε να μπορούμε να πούμε πως αυξάνεται όπως η συνάρτηση n 2. Χαροκόπειο Πανεπιστήμιο 13/37
15 Ασυμπτωτικά Άνω Όρια big-oh notation Έστω T(n) μια συνάρτηση, π.χ ο χρόνος εκτέλεσης χειρότερης περίπτωσης ενός συγκεκριμένου αλγορίθμου για μια είσοδο μεγέθους n. Δεδομένου μιας άλλης συνάρτησης f(n) λέμε 2 ότι η T(n) είναι O(f(n)) αν, για αρκετά μεγάλο n, η συνάρτηση T(n) φράσσεται εκ των άνω από ένα σταθερό πολλαπλάσιο της f(n). Πολλές φορές γράφουμε T(n) = O(f(n)). 2 Διαβάζεται η T(n) είναι τάξης f(n). Χαροκόπειο Πανεπιστήμιο 14/37
16 Ασυμπτωτικά Άνω Όρια big-oh notation Ορισμός. Η T(n) είναι O(f(n)) αν υπάρχουν σταθερές c > 0 και n 0 0 έτσι ώστε, για όλα τα n n 0, να έχουμε 0 T(n) c f(n). c f(n) T (n) n n0 T (n) = O(f(n)) Προσοχή η σταθερά c πρέπει να λειτουργεί για όλα τα n, δεν μπορεί δηλαδή το c να εξαρτάται από το n. Χαροκόπειο Πανεπιστήμιο 15/37
17 Ασυμπτωτικά Άνω Όρια big-oh notation Έστω ένας αλγόριθμος του οποίου ο χρόνος εκτέλεσης έχει την μορφή για θετικές σταθερές p, q και r. T(n) = pn 2 + qn + r Παρατηρώντας πως για n 1 ισχύει qn qn 2 και r rn 2, μπορούμε να γράψουμε για όλα τα n 1. T(n) = pn 2 + qn + r pn 2 + qn 2 + rn 2 = (p + q + r)n 2 Ακριβώς ότι απαιτεί ο ορισμός του O( ) όπου c = p + q + r και άρα λέμε πως η συνάρτηση T(n) = O(n 2 ). Χαροκόπειο Πανεπιστήμιο 16/37
18 Ασυμπτωτικά Άνω Όρια big-oh notation Ο συμβολισμός O( ) εκφράζει μόνο ένα άνω όριο, και όχι τον ακριβή ρυθμό αύξησης της συνάρτησης. Όπως ισχυριστήκαμε πως T(n) = pn 2 + qn + r = O(n 2 ) μπορούμε να δείξουμε επίσης πως T(n) = O(n 3 ). Έχει συμβεί πολλές φορές να έχει αποδειχθεί ότι ένας αλγόριθμος έχει χρόνο εκτέλεσης O(n 3 ), και μετά από μερικά χρόνια με καλύτερη ανάλυση να αποδειχθεί πως ο ίδιος αλγόριθμος είναι στην πραγματικότητα O(n 2 ). Δεν υπήρχε πρόβλημα με το πρώτο αποτέλεσμα, ήταν ένα σωστό άνω όριο. Απλά δεν ήταν ο "αυστηρότερος" δυνατός χρόνος εκτέλεσης. Χαροκόπειο Πανεπιστήμιο 17/37
19 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα 2n n 2 + n O(n 3 ) Χαροκόπειο Πανεπιστήμιο 18/37
20 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα 2n n 2 + n O(n 3 ) Απόδειξη Αρκεί να βρούμε θετική σταθερά c και n 0 0 ώστε να ισχύει: 2n n 2 + n cn 3 Χαροκόπειο Πανεπιστήμιο 18/37
21 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα 2n n 2 + n O(n 3 ) Απόδειξη Αρκεί να βρούμε θετική σταθερά c και n 0 0 ώστε να ισχύει: Διαιρώντας με n > 1 έχουμε πως αρκεί 2n n 2 + n cn 3 2n n + 1 cn 2. Χαροκόπειο Πανεπιστήμιο 18/37
22 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα 2n n 2 + n O(n 3 ) Απόδειξη Αρκεί να βρούμε θετική σταθερά c και n 0 0 ώστε να ισχύει: Διαιρώντας με n > 1 έχουμε πως αρκεί 2n n 2 + n cn 3 2n n + 1 cn 2. Για n > 1 έχουμε όμως πως 2n n + 1 2n n 2 + n 2 103n 2. Άρα μπορούμε να θέσουμε c = 103 και n 0 = 1 > 0. Χαροκόπειο Πανεπιστήμιο 18/37
23 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα n O(2 n ) Χαροκόπειο Πανεπιστήμιο 19/37
24 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα n O(2 n ) Απόδειξη Πρέπει να βρούμε c > 0, n 0 > 0 ώστε να ισχύει n c 2 n. Χαροκόπειο Πανεπιστήμιο 19/37
25 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα n O(2 n ) Απόδειξη Πρέπει να βρούμε c > 0, n 0 > 0 ώστε να ισχύει n c 2 n. Παρατηρώντας τον τρόπο που μεγαλώνουν οι συναρτήσεις βλέπουμε πως για c = 1 και n 0 = 1 η ανισότητα ισχύει. Πρέπει όμως να αποδείξουμε πως παραμένει αλήθεια για κάθε n n 0 = 1. Χαροκόπειο Πανεπιστήμιο 19/37
26 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα n O(2 n ) Απόδειξη Πρέπει να βρούμε c > 0, n 0 > 0 ώστε να ισχύει n c 2 n. Παρατηρώντας τον τρόπο που μεγαλώνουν οι συναρτήσεις βλέπουμε πως για c = 1 και n 0 = 1 η ανισότητα ισχύει. Πρέπει όμως να αποδείξουμε πως παραμένει αλήθεια για κάθε n n 0 = 1. Έστω f(n) = 2 n n. Η συνάρτηση είναι συνεχής και παραγωγίσιμη. Η πρώτη παράγωγος είναι f (n) = ln(2) 2 n 1 και είναι θετική για κάθε n 1. Άρα η συνάρτηση f(n) είναι γνησίως αύξουσα για n 1 που σημαίνει πως παραμένει θετική για κάθε n n 0 = 1. Χαροκόπειο Πανεπιστήμιο 19/37
27 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα O(1) Χαροκόπειο Πανεπιστήμιο 20/37
28 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα O(1) Απόδειξη Πρέπει να δείξουμε πως υπάρχουν c > 0, n 0 > 0 ώστε για κάθε n n c 1 Χαροκόπειο Πανεπιστήμιο 20/37
29 Συμβολισμός μεγάλου όμικρον big-oh notation Θεώρημα O(1) Απόδειξη Πρέπει να δείξουμε πως υπάρχουν c > 0, n 0 > 0 ώστε για κάθε n n c 1 Η σχέση ισχύει για c = και n 0 = 1. Χαροκόπειο Πανεπιστήμιο 20/37
30 Συμβολισμός μεγάλου όμικρον Παράδειγμα Θεώρημα Για a > 0 ισχύει πως f(n) = an 2 + bn O(n 2 ). Χαροκόπειο Πανεπιστήμιο 21/37
31 Συμβολισμός μεγάλου όμικρον Παράδειγμα Θεώρημα Για a > 0 ισχύει πως f(n) = an 2 + bn O(n 2 ). Απόδειξη Πρέπει να βρούμε θετική σταθερά c και σταθερά n 0 0 ώστε an 2 + bn cn 2 για κάθε n n 0. Χαροκόπειο Πανεπιστήμιο 21/37
32 Συμβολισμός μεγάλου όμικρον Παράδειγμα Θεώρημα Για a > 0 ισχύει πως f(n) = an 2 + bn O(n 2 ). Απόδειξη Πρέπει να βρούμε θετική σταθερά c και σταθερά n 0 0 ώστε Επειδή an 2 + bn cn 2 για κάθε n n 0. an 2 + bn a n 2 + b n a n 2 + b n 2 = ( a + b )n 2 για n 1 μπορούμε να διαλέξουμε c = a + b και n 0 οποιαδήποτε θετική τιμή μεγαλύτερη ή ίση με ένα π.χ n 0 = 1. Χαροκόπειο Πανεπιστήμιο 21/37
33 Ασυμπτωτικά Κάτω Όρια Ω notation Συμπληρωματική σημειογραφία για τα κάτω όρια. Ορισμός. Η T(n) είναι Ω(f(n)) αν υπάρχουν σταθερές c > 0 και n 0 0 έτσι ώστε, για όλα τα n n 0, να έχουμε 0 c f(n) T(n). T (n) c f(n) n n0 T (n) = Ω(f(n)) Χαροκόπειο Πανεπιστήμιο 22/37
34 Ασυμπτωτικά Κάτω Όρια Ω notation Έστω πάλι η συνάρτηση T(n) = pn 2 + qn + r όπου p, q και r θετικές σταθερές. Μπορούμε να πούμε πως για n 1 ισχύει T(n) = pn 2 + qn + r pn 2 και άρα σύμφωνα με τον ορισμό της Ω( ) για c = p έχουμε πως T(n) = Ω(n 2 ). Μπορούμε επίσης να πούμε πως T(n) = Ω(n) αφού για n 1 ισχύει πως T(n) pn 2 pn. Χαροκόπειο Πανεπιστήμιο 23/37
35 Αυστηρά Ασυμπτωτικά Όρια Αν μπορούμε να δείξουμε πως T(n) = O(f(n)) και T(n) = Ω(f(n)) τότε έχουμε βρει το σωστό όριο. Ορισμός. Εάν μια συνάρτηση T(n) είναι και O(f(n)) και Ω(f(n)), λέμε ότι η T(n) είναι Θ(f(n)). Χαροκόπειο Πανεπιστήμιο 24/37
36 Αυστηρά Ασυμπτωτικά Όρια Ορισμός. Εάν μια συνάρτηση T(n) είναι και O(f(n)) και Ω(f(n)), λέμε ότι η T(n) είναι Θ(f(n)). c2 f(n) T (n) c1 f(n) n n0 T (n) = Θ(f(n)) Χαροκόπειο Πανεπιστήμιο 25/37
37 Ιδιότητες Μεταβατικότητα (transitivity) Αν f = O(g) και g = O(h) τότε f = O(h). Αν f = Ω(g) και g = Ω(h) τότε f = Ω(h). Αν f = Θ(g) και g = Θ(h) τότε f = Θ(h). Αθροίσματα συναρτήσεων Αν f = O(h) και g = O(h) τότε f + g = O(h). Αν f = Ω(h) και g = Ω(h) τότε f + g = Ω(h). Αν f = Θ(h) και g = Θ(h) τότε f + g = Θ(h). Χαροκόπειο Πανεπιστήμιο 26/37
38 Κάποιες Συνηθισμένες Συναρτήσεις Ασυμπτωτικά Όρια Πολυώνυμα. a 0 + a 1n a d n d είναι Θ(n d ) εάν a d > 0. Ορισμός. Ένας αλγόριθμος είναι πολυωνυμικού χρόνου εαν ο χρόνος εκτέλεσης του T(n) είναι O(n d ) για κάποια σταθερά d, όπου η d είναι ανεξάρτητη από το μέγεθος της εισόδου. Χαροκόπειο Πανεπιστήμιο 27/37
39 Κάποιες Συνηθισμένες Συναρτήσεις Ασυμπτωτικά Όρια Λογάριθμοι. Θυμηθείτε πως log b n είναι ένας αριθμός x τέτοιος ώστε b x = n. Οι λογάριθμοι είναι συναρτήσεις που αυξάνονται πολύ αργά. Λήμμα Για κάθε b > 1 και κάθε x > 0, έχουμε log b n = O(n x ). Πολλές φορές δεν γράφουμε καθόλου την βάση του λογαρίθμου μιας και ισχύει η σχέση log a n = 1 log b a log b n Χαροκόπειο Πανεπιστήμιο 28/37
40 Κάποιες Συνηθισμένες Συναρτήσεις Ασυμπτωτικά Όρια Εκθετικές. Οι εκθετικές συναρτήσεις είναι της μορφής f(n) = r n για κάποια σταθερή βάση r. Για r > 1 η συνάρτηση έχει πολύ γρήγορη αύξηση. Λήμμα Για κάθε r > 1 και κάθε d > 0, έχουμε n d O(r n ). Χαροκόπειο Πανεπιστήμιο 29/37
41 Επισκόπηση Συνηθισμένων Χρόνων Εκτέλεσης Οι πιο συνηθισμένοι χρόνοι εκτέλεσης είναι οι εξής. σταθερός -- O(1) γραμμικός -- O(n) O(n log n) τετραγωνικός -- O(n 2 ) κυβικός -- O(n 3 ) πολυωνυμικός -- O(n d ) για d > 0 εκθετικός -- O(r n ) για r > 1 Χαροκόπειο Πανεπιστήμιο 30/37
42 Σταθερός Χρόνος O(1) Constant Time Σταθερός χρόνος είναι ο χρόνος που είναι ανεξάρτητος από το μέγεθος της εισόδου n. Λειτουργίες Στοίβας. Προσθήκη ενός στοιχείου σε μια στοίβα (PUSH). Push Pop Σε μία σωστά υλοποιημένη στοίβα, το μέγεθος δεν παίζει ρόλο. Ο χρόνος είναι ίδιος εαν η στοίβα έχει 100 στοιχεία ή στοιχεία. Χαροκόπειο Πανεπιστήμιο 31/37
43 Γραμμικός Χρόνος Linear Time Γραμμικός χρόνος. Ο χρόνος εκτέλεσης είναι ανάλογος με το μέγεθος εισόδου. Υπολογισμός μέγιστου. Υπολογισμός του μέγιστου των n αριθμών a 1,..., a n. Algorithm 1: Εύρεση Μέγιστου max = a 1 for i = 2 έως n do if a i > max then θέσε max = a i end end Χαροκόπειο Πανεπιστήμιο 32/37
44 Γραμμικός Χρόνος Linear Time Συγχώνευση. Συνδυασμός δύο ταξινομημένων λιστών a 1, a 2,..., a n και b 1, b 2,..., b n σε μια ταξινομημένη λίστα. ταξινοµηµένος πίνακας a α) επιλογή µικρότερου ϐ) αντιγραφή σε άλλο πίνακα c γ) µετακίνηση δείκτη ταξινοµηµένος πίνακας b Algorithm 2: Merge i = 1, j = 1 while καμία άδεια λίστα do if a i b j then πρόσθεσε το a i στην έξοδο και αύξησε το i else πρόσθεσε το b j στην έξοδο και αύξησε το j end end πρόσθεσε όλα τα στοιχεία της μη άδειας λίστας στην έξοδο Χαροκόπειο Πανεπιστήμιο 33/37
45 O(n log n) Χρόνος Προκύπτει συχνά στους αλγορίθμους "διαίρει και βασίλευε" που θα εξετάσουμε αργότερα. Ταξινόμηση. Οι αλγόριθμοι mergesort (ταξινόμηση συγχώνευσης) και heapsort (ταξινόμηση σωρού) κάνουν O(n log n) συγκρίσεις. Χαροκόπειο Πανεπιστήμιο 34/37
46 Τετραγωνικός Χρόνος: O(n 2 ) Quadratic Time Τετραγωνικός Χρόνος. Απαρίθμηση όλων των δυνατών ζευγών ενός συνόλου στοιχείων. Κοντινότερο ζεύγος σημείων. Με είσοδο n σημείων στο επίπεδο (x 1, y 1 ),..., (x n, y n ), θέλουμε να βρούμε το ζεύγος σημείων που έχουν την μικρότερη απόσταση. Algorithm 3: Κοντινότερο ζεύγος σημείων min = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 for i = 1 έως n do for j = έως n do d = (x i x j ) 2 + (y i y j ) 2 if d < min then min=d end end end Γίνεται και πιο γρήγορα! Χαροκόπειο Πανεπιστήμιο 35/37
47 Κυβικός Χρόνος: O(n 3 ) Qubic Time Πολλαπλασιασμός Πινάκων. Έστω 2 πίνακες A και B μεγέθους n n. c 11 c 12 c 1n a 11 a 12 a 1n b 11 b 12 b 1n c 21 c 22 c 2n a 21 a 22 a 2n b 21 b 22 b 2n = c n1 c n2 c nn a n1 a n2 a nn b n1 b n2 b nn for ( i = 0 ; i < n ; i ++ ) for ( j = 0 ; j < n ; j ++ ) for ( k = 0, c [ i ] [ j ] = 0. 0 ; k < n ; k++ ) c [ i ] [ j ] += a [ i ] [ k ] * b [ k ] [ j ] ; Γίνεται και πιο γρήγορα! Χαροκόπειο Πανεπιστήμιο 36/37
48 Εκθετικός Χρόνος Exponential Time Δύο συνηθισμένα όρια είναι τα O(2 n ) και O(n!). Ανεξάρτητο Σύνολο. Δεδομένου ενός γραφήματος G(V, E) βρείτε το μεγαλύτερο ανεξάρτητο σύνολο. Algorithm 4: Μέγιστο Ανεξάρτητο Σύνολο: Ωμή Βία for κάθε υποσύνολο κόμβων S do Έλεγξε αν το S είναι ανεξάρτητο σύνολο if S είναι μεγαλύτερο ανεξάρτητο σύνολο από το μέχρι τώρα then Κατάγραψε το μέγεθος του S ως τρέχον μέγιστο end end Ένα σύνολο μεγέθους n έχει 2 n υποσύνολα. Ο έλεγχος κάθε υποσυνόλου πέρνει χρόνο O(n 2 ) και άρα ο αλγόριθμος χρειάζεται O(n 2 2 n ). Χαροκόπειο Πανεπιστήμιο 37/37
Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018
Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018 Αλγόριθμοι Ρυθμός αύξησης συναρτήσεων [Rosen 3.2] Αριθμητικές συναρτήσεις Τάξη αριθμητικών συναρτήσεων
Διαβάστε περισσότεραΟρισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
Διαβάστε περισσότεραΚεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθµων. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 2 Βασικά στοιχεία ανάλυσης αλγορίθµων Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 2.1 Υπολογιστική Επιλυσιµότητα "For me, great algorithms are the poetry of computation.
Διαβάστε περισσότεραΚεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθμων. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 2 Βασικά στοιχεία ανάλυσης αλγορίθμων Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 2.1 Υπολογιστική Επιλυσιμότητα "For me, great algorithms are the poetry of computation.
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός Επιμέλεια διαφανειών: Δημήτρης Φωτάκης (λίγες προσθήκες: Άρης Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Απόδοση Αλγορίθμων Πληροφορικής 1 Απόδοση Αλγορίθμων Συνήθως υπάρχουν πολλοί τρόποι (αλγόριθμοι) για την επίλυση ενός προβλήματος. Πώς επιλέγουμε μεταξύ αυτών; Πρέπει να ικανοποιηθούν δύο (αντικρουόμενοι)
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας
Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων (2-3)
Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 6) 1 / 20 Ρυθμοί αύξησης Γραμμικός ρυθμός αύξησης: n, 2n, Πολυωνυμικός
Διαβάστε περισσότεραΥπολογιστική Πολυπλοκότητα
Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθµου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση µεγέθους στιγµιότυπου εισόδου. Χρόνος, µνήµη, επεξεργαστές, επικοινωνία,
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών
ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση
Διαβάστε περισσότεραΑ Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;
5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΔομές Δεδομένων Ενότητα 2
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΑνάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Διαβάστε περισσότεραΚεφάλαιο 5 Ανάλυση Αλγορίθμων
Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι
Διαβάστε περισσότεραΑν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;
Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 2: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθμου Α: Ποσότητα
Διαβάστε περισσότεραΔιακριτά Μαθηματικά. Γιάννης Εμίρης. Τμήμα Πληροφορικής & Τηλεπικοινωνιών ΕΚΠΑ. Οκτώβριος
ΔιακριτάΜαθηματικά Γιάννης Εμίρης http://eclass.uoa.gr/ Τμήμα Πληροφορικής & Τηλεπικοινωνιών ΕΚΠΑ Οκτώβριος 2016 Διακριτά Μαθηματικά Αλγόριθμοι Ρυθμόςαύξησηςσυναρτήσεων[Rosen 3.2] Διακριτά Μαθηματικά Ορισμοί
Διαβάστε περισσότεραΑσκήσεις (2) Άσκηση 1
Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες
Διαβάστε περισσότεραοµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ
Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ ΕΝΟΤΗΤΑ 1 ΕΙΣΑΓΩΓΗ 1 εδοµένα Σύνολο από πληροφορίες που πρέπει να αποθηκευτούν σε έναν υπολογιστή Υπολογιστικό Μοντέλο ένας επεξεργαστής και µεγάλος
Διαβάστε περισσότεραΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ
ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το
Διαβάστε περισσότεραΑλγόριθμοι. Μάρθα Σιδέρη. ιαδικαστικά: ύο πρόοδοι 31 Μαρτίου, 18 Μαΐου 7-9μμ 20% η μία, ύο Προγραμματιστικές 1 προσθετικό βαθμό η μία.
Αλγόριθμοι Μάρθα Σιδέρη epl333 lect 011 1 ιαδικαστικά: ύο πρόοδοι 31 Μαρτίου, 18 Μαΐου 7-9μμ 0% η μία, ύο Προγραμματιστικές 1 προσθετικό βαθμό η μία. Οι πρόοδοι είναι προαιρετικές και το ποσοστό μετράει
Διαβάστε περισσότεραΟρθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Aνάλυση Αλγορίθμων Είσοδος Αλγόριθμος Έξοδος Ένας αλγόριθμος είναι μια
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων
Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 4: Αναδρομικές σχέσεις και ανάλυση αλγορίθμων Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ
ΑΛΓΟΡΙΘΜΟΙ http://elss.ueb.gr/ourses/inf6/ Άνοιξη 6 - I. ΜΗΛΗΣ ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS Αλγόριθμοι Τρείς κρίσιμες ερωτήσεις για κάθε αλγόριθμο για ένα πρόβλημα:
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΑνάλυση Αλγορίθµων 4. Πειραµατικές Μελέτες. Χρόνος Εκτέλεσης. Περιγραφή και Υλικό Ανάγνωσης
Ανάλυση Αλγορίθµων Είσοδος Αλγόριθµος Έξοδος Περιγραφή και Υλικό Ανάγνωσης Χρόνος εκτέλεσης (.) Ψευδοκώδικας (.) Μέτρηση των στοιχειωδών πράξεων (.) Ασυµπτωτική σηµειογραφία (.2) Ασυµπτωτική ανάλυση (.2)
Διαβάστε περισσότεραΤίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 5: Ασκήσεις Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 2.0 Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Πολυπλοκότητα Αναδρομικές Σχέσεις Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΕπιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα
Διαβάστε περισσότεραΚατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π
Περιορισμοί Αλγοριθμικής Ισχύος Κατηγοριοποίηση πολυπλοκοτήτων Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός
Διαβάστε περισσότεραΑναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη - Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αλγόριθμοι, Κριτήρια Αξιολόγησης Αλγόριθμων, Γιατί αναλύουμε τους Αλγορίθμων
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 25 Φεβρουαρίου 2015 1 / 53 Περιεχόµενα
Διαβάστε περισσότεραιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
Διαβάστε περισσότεραπεριεχόμενα ρυθιμός αύξησης συναρτήσεων ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση ασυμπτωτικοί συμβολισμοί ασυμπτωτικός συμβολισμος
ρυθμός αύξησης συναρτήσεων περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις Παύλος Εφραιμίδης 2 ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση Πολυπλοκότητα χειρότερης
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8α: Ταξινόμηση-Σύγκριση αλγορίθμων ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6α: Αναζήτηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό
Διαβάστε περισσότεραρυθιμός αύξησης συναρτήσεων
ρυθμός αύξησης συναρτήσεων Παύλος Εφραιμίδης 1 περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις 2 ασυμπτωτική πολυπλοκότητα Πολυπλοκότητα χειρότερης περίπτωσης Συγχωνευτική
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότερα1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις
Γενικό πλάνο Μαθηµατικά για Πληροφορική 6ο Μάθηµα 1 Ανάλυση αλγορίθµων Ηλίας Κουτσουπιάς, Γιάννης Εµίρης 2 Συµβολισµοί O, Ω και Θ Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 3
Διαβάστε περισσότεραΜαθηµατικά για Πληροφορική
Μαθηµατικά για Πληροφορική 6ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 27/11/2008 1 / 55 Γενικό πλάνο 1 Ανάλυση αλγορίθµων 2 Συµβολισµοί
Διαβάστε περισσότεραauth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Αλγόριθμοι Ωμή Βία http://delab.csd.auth.gr/courses/algorithms/ auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΑναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε
Διαβάστε περισσότεραΔυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές Διωνυμικοί
Διαβάστε περισσότεραauth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/courses/algorithms/ auth 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο του προβλήματος
Διαβάστε περισσότεραΕισαγωγή στους Αλγορίθμους
Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος
Διαβάστε περισσότεραΔυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις /προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος
Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ
1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός
Διαβάστε περισσότεραΕργαστηριακή Άσκηση 1
Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα
Διαβάστε περισσότεραΑναδρομή Ανάλυση Αλγορίθμων
Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).
Διαβάστε περισσότερα11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών
ΚΕΦΑΛΑΙΟ : Θεωρία υπολογισµών. Συναρτήσεις και ο υπολογισµός τους. Μηχανές Turig.3 Καθολικές γλώσσες προγραµµατισµού.4 Μια µη υπολογίσιµη συνάρτηση.5 Πολυπλοκότητα προβληµάτων.6 Κρυπτογραφία δηµόσιου κλειδιού.
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι
Διαβάστε περισσότεραΠεριεχόμενα. Περιεχόμενα
Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...
Διαβάστε περισσότεραΕισαγωγή στους Αλγορίθμους Ενότητα 3η
Εισαγωγή στους Αλγορίθμους Ενότητα 3η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΕισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Διαβάστε περισσότεραX = {(x 1, x 2 ) x 1 + 2x 2 = 0}.
Γραμμική Άλγεβρα ΙΙ Διάλεξη 4 Χρήστος Κουρουνιώτης Πανεπιστήμιο Κρήτης 26/2/2014 Χ.Κουρουνιώτης (Παν.Κρήτης) Διάλεξη 4 26/2/2014 1 / 12 Υποσύνολα ενός διανυσματικού χώρου. Πότε είναι ένα υποσύνολο X ενός
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(), Ω(), Θ( ) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ. Ενότητα 2: Ανάλυση Αλγορίθμων. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 2: Ανάλυση Αλγορίθμων Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Σταύρος Δ. Νικολόπουλος 06-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ταξινόμηση Selection-Sort Bubble-Sort και
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3.0 Σταύρος Δ. Νικολόπουλος 0-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Διαίρει και Βασίλευε Quick-sort και Merge-sort
Διαβάστε περισσότεραΠεριεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ
Περιεχόμενα Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23 Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ 1. Επαναληπτικοί αλγόριθμοι: Μέτρα προόδου και αναλλοίωτες συνθήκες.....................................................29
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 4
Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να
Διαβάστε περισσότεραΤαξινόμηση με συγχώνευση Merge Sort
Ταξινόμηση με συγχώνευση Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Πληροφορικής 1 Διαίρει και Βασίλευε Η μέθοδος του «Διαίρει και Βασίλευε» είναι μια γενική αρχή σχεδιασμού αλγορίθμων
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/~gounaris/courses/ad auth gounaris/courses/ad 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο
Διαβάστε περισσότεραΚεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο
Διαβάστε περισσότερα