Εισαγωγή στην Ανάλυση Αλγορίθμων
|
|
- Πύθιος Πόντιος Βιλαέτης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Εισαγωγή στην Ανάλυση Αλγορίθμων (4)
2 Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n) συναρτήσει της T(n-3) Γενικεύοντας βρίσκουμε την αναλυτική έκφραση της T(n): Αρχικά σημειώνουμε ότι η συνεπάγεται ότι Οπότε
3 Εικάζουμε ότι Γνωστό άθροισμα: 3
4 Μπορούμε να κάνουμε την επανάληψη από «κάτω προς τα πάνω» Κάτι τέτοιο θα μας οδηγούσε στην ίδια εικασία Έχουμε λοιπόν ότι: Αν r και τότε για κάθε φυσικό αριθμό n. (Απόδειξη με Μαθ. Επαγωγή) 4
5 Χρήσιμη Πρόταση: Αν r είναι μια θετική σταθερά (ανεξάρτητη του n) και t(n) είναι ο μεγαλύτερος όρος του αθροίσματος τότε αυτό το άθροισμα (των n όρων μιας Γεωμ. Προόδου) είναι O(t(n)). Απόδειξη: i) r < (οπότε t(n) = r 0 =) Έχουμε που είναι O() = O(t(n)). Ii) r > (οπότε t(n) = r n- ) Έχουμε Άρα, 5
6 Έστω τώρα η αναδρομή Με επανάληψη της αναδρομής έχουμε T(n) = rt(n ) + g(n) Άρα, για θετικές σταθερές a και r και μια συνάρτηση g(n), η λύση της γραμμικής αναδρομικής σχέσης ου βαθμού είναι 6
7 Παράδειγμα: Είναι με T(0) = 6
8 Παράδειγμα: Είναι 8
9 Μεθοδολογία αναδρομικών σχέσεων (ΙΙ) Στην προηγούμενη ενότητα αναλύσαμε αναδρομικές σχέσεις της μορφής Πρόκειται για αναδρομές που αντιστοιχούν σε αναλύσεις αναδρομικών αλγορίθμων όπου ένα πρόβλημα μεγέθους n καταφεύγοντας στην αναδρομική επίλυση ενός (ή περισσοτέρων τους ενός) προβλήματος μεγέθους n. Εξετάζουμε τώρα αναδρομές που ανακύπτουν από αναδρομικούς αλγόριθμους όπου προβλήματα μεγέθους n επιλύονται καταφεύγοντας στην αναδρομική επίλυση προβλημάτων μεγέθους n/m για συγκεκριμένο m. Πρόκειται για αναδρομικές σχέσεις της μορφής Μπορούμε να λύσουμε μια τέτοια αναδρομική εξίσωση με τη γνωστή μας μέθοδο επανάληψης της αναδρομής.
10 Παραδείγματα: Για να λύσουμε κάποιο πρόβλημα μεγέθους n i. λύνουμε υποπροβλήματα μεγέθους n/, και ii. κάνουμε n μονάδες επιπρόσθετου έργου Για να λύσουμε κάποιο πρόβλημα μεγέθους n i. λύνουμε υποπρόβλημα μεγέθους n/4, και ii. κάνουμε n μονάδες επιπρόσθετου έργου Τα παραδείγματα αυτά είναι ειδικές περιπτώσεις αναδρομικής σχέσης που προκύπτει κατά τη σχεδίαση ενός αλγορίθμου με τη γενική τεχνική «Διαίρει-και-Βασίλευε» (Divide and Conquer) 0
11 Διαίρει-και-Βασίλευε (Divide-and-Conquer) Διαίρει-και-Βασίλευε: γενική τεχνική σχεδίασης αλγορίθμων Διαίρει τα εισερχόμενα δεδομένα S σε δύο ή περισσότερα ξένα υποσύνολα S, S, Βασίλευε τα υποπροβλήματα που σχετίζονται με τα S, S, λύνοντάς τα αναδρομικά (ή με άμεσο τρόπο αν οι διαστάσεις τους είναι αρκετά μικρές). Συνδύαζε τις λύσεις για S, S, σε μια λύση για S. Το βασικό βήμα (base case) για την αναδρομή είναι υποπρόβλημα μιας σταθερής διάστασης. Η ανάλυση μπορεί να γίνει με χρήση αναδρομικών εξισώσεων
12 Ανάλυση του Διαίρει-και-Βασίλευε Έστω T(n) ο χρόνος εκτέλεσης για ένα πρόβλημα μεγέθους n. Αν το n είναι αρκετά μικρό, έστω n c, όπου c = σταθ., η άμεση λύση απαιτεί σταθερό χρόνο τον οποίο γράφουμε O() ή Θ(). Ας υποθέσουμε ότι ο διαμελισμός του προβλήματος συνεπάγεται α υποπροβλήματα μεγέθους το καθένα /b του μεγέθους του αρχικού (συνήθως α = b =, π.χ Merge-Sort). Αν ο διαμελισμός απαιτεί χρόνο D(n) και το να συνδυαστούν οι λύσεις των υποπροβλημάτων για τη λύση του αρχικού προβλήματος απαιτεί χρόνο C(n) Tn ( ) Θ(), αν n c = n at + D( n) + C ( n), διαφορετικά b
13 Εφαρμογή: Ταξινόμηση με συνένωση (Merge-Sort) Ο Merge-Sort σε μια εισαγόμενη ακολουθία S με n στοιχεία συνίσταται στα τρία βήματα: Διαίρει: διαμέρισε την S σε ακολουθίες S και S με περίπου n/ στοιχεία η κάθε μία Βασίλευε: αναδρομικά ταξινόμησε τις S και S Συνδύαζε: συνένωσε τις S και S σε μία ταξινομημένη ακολουθία * Θεωρούμε τα στοιχεία των ακολουθιών S, S και S ως στοιχεία των μονοδιάστατων πινάκων A[.. n], A[.. n/ ], και A[ n/ +.. n ] αντίστοιχα.
14 Ταξινόμηση με συνένωση Merge-Sort A[.. n]. Αν n =, τέλος.. Αναδρομικά ταξινόμησε A[.. n/ ] και A[ n/ +.. n ]. 3. Συνένωσε τις ταξινομημένες λίστες. Χαρακτηριστική υπορουτίνα: Merge 4
15 Συνένωση δύο ταξινομημένων ακολουθιών 0 5
16 Συνένωση δύο ταξινομημένων ακολουθιών 0 6
17 Συνένωση δύο ταξινομημένων ακολουθιών 0 0
18 Συνένωση δύο ταξινομημένων ακολουθιών 0 0 8
19 Συνένωση δύο ταξινομημένων ακολουθιών 0 0 0
20 Συνένωση δύο ταξινομημένων ακολουθιών
21 Συνένωση δύο ταξινομημένων ακολουθιών
22 Συνένωση δύο ταξινομημένων ακολουθιών
23 Συνένωση δύο ταξινομημένων ακολουθιών
24 Συνένωση δύο ταξινομημένων ακολουθιών
25 Συνένωση δύο ταξινομημένων ακολουθιών
26 Συνένωση δύο ταξινομημένων ακολουθιών
27 Συνένωση δύο ταξινομημένων ακολουθιών Υπολογιστικά, κάθε βήμα απαιτεί σταθερό χρόνο επειδή απλά συγκρίνουμε δύο στοιχεία (τα πρώτα κάθε φορά). Επειδή εκτελούμε n το πολύ βήματα, η συνένωση απαιτεί χρόνο Θ(n). Χρόνος = Θ(n) για συνένωση συνολικά n στοιχείων.
28 Merge Η διαδικασία που περιγράψαμε υποθέτει ότι οι δύο (υπο)συστοιχίες είναι ταξινομημένες και τις συνενώνει σε μία (υπο)συστοιχία. Δύο δείκτες αρχικοποιούνται για να δείχνουν στα πρώτα στοιχεία των υπό συνένωση συστοιχιών. Στη συνέχεια αυτά τα δύο στοιχεία συγκρίνονται, με το μικρότερο να προστίθεται στη νέα υπό διαμόρφωση συστοιχία και μετά ο δείκτης του μικρότερου στοιχείου αυξάνεται κατά για να δείχνει στο αμέσως επόμενο στοιχείο της (υπο)συστοιχίας από την οποία αντιγράφηκε. Αυτή η διαδικασία συνεχίζεται μέχρις ότου μια από τις (υπο)συστοιχίες εξαντληθεί οπότε τα εναπομείναντα στοιχεία της άλλης (υπο)συστοιχίας αντιγράφονται στο τέλος της νέας (υπο)συστοιχίας. 8
29 Μεθοδολογία αναδρομικών σχέσεων (ΙΙΙ) Επανερχόμαστε στην επίλυση μιας αναδρομικής εξίσωσης με τη μέθοδο επανάληψης της αναδρομής. Παράδειγμα : (υποθέτουμε ότι το n είναι μια δύναμη του, δηλ. n = k )
30 Δέντρο Αναδρομής Επίλυση της T(n) = T(n/) + cn, όπου c > 0 (σταθ.) Σχηματίζω ένα δένδρο αναδρομής που δείχνει τις διαδοχικές αναδιπλώσεις της αναδρομής 30
31 Δέντρο Αναδρομής Αρχικά έχουμε το κόστος cn συν τα δύο υποπροβλήματα με κόστος το καθένα T(n/) cn T(n/) T(n/) 3
32 Δέντρο Αναδρομής Για κάθε υποπρόβλημα μεγέθους n/ έχουμε ένα κόστος n/ συν δύο υποπροβλήματα με κόστος το καθένα T(n/4) cn cn/ cn/ T(n/4) T(n/4) T(n/4) T(n/4) 3
33 Δέντρο Αναδρομής Συνεχίζουμε την αναδίπλωση μέχρι να γίνει το μέγεθος των υποπροβλημάτων = cn cn/ cn/ cn/4 cn/4 cn/4 cn/4 c 33
34 Δέντρο Αναδρομής n/ i = i = log n := lg n cn h = lg n cn/ cn/ cn/4 cn/4 cn/4 cn/4 c 34
35 Δέντρο Αναδρομής Επίλυση της T(n) = T(n/) + cn, όπου c > 0 (σταθ.) cn cn cn/ cn/ h = lg n cn/4 cn/4 cn/4 cn/4 c 35
36 Δέντρο Αναδρομής Επίλυση της T(n) = T(n/) + cn, όπου c > 0 (σταθ.) cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 c 36
37 Δέντρο Αναδρομής Επίλυση της T(n) = T(n/) + cn, όπου c > 0 (σταθ.) cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 cn c 3
38 Δέντρο Αναδρομής Επίλυση της T(n) = T(n/) + cn, όπου c > 0 (σταθ.) cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 cn c #φύλλων = n cn 38
39 Δέντρο Αναδρομής Επίλυση της T(n) = T(n/) + cn, όπου c > 0 (σταθ.) cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 cn c #φύλλων = n Δείτε Σημειώσεις-> Συνήθεις_τύποι_αναδρομικών_σχέσεων_στην_Ανάλυση_Αλγορίθμων_0.pdf cn cnlgn = Θ(nlgn)
40 Απόδειξη με το δένδρο αναδρομής 0 if n = T( n) = T( n / ) + n otherwise ταξινόμηση των μισών τμημάτων merging T(n) n T(n/) T(n/) (n/) T(n/4) T(n/4) T(n/4) T(n/4) log n 4(n/4)... T(n / k ) k (n / k )... T() T() T() T() T() T() T() T() n/ () n log n 40
41 Παράδειγμα Έστω η αναδρομική σχέση Με τη μέθοδο της επανάληψης έχουμε (υποθέτοντας ότι n = δύναμη του ) 4
42 Έχουμε, δες σελίδα 5, το άθροισμα των n όρων μιας Γεωμ. Προόδου είναι O(t(n)), όπου t(n) ο μεγαλύτερος όρος του αθροίσματος. Στην περίπτωση μας ο t(n) =/ <, άρα t(n)=, i = 0. 4 i n i n n n n n n n n n = = = log 0 log 3 0 log ( ) log 0 O i n i = = ( ) ) ( ) ( () ) ( log 0 log 0 n O no n T n n T n T i n i i n i = = + = + = = = Αλλά:
43 Παράδειγμα 3 Με τη μέθοδο της επανάληψης έχουμε (υποθέτοντας ότι n = δύναμη του 3) 43
44 Ας γενικεύσουμε λίγο: Ελάττωση κατά έναν σταθερό παράγοντα o. Λύνω τη σχέση για n = b k, k N * T(n) = T(n/b) + f(n) o. Η ασυμπτωτική λύση (για κάθε n) βρίσκεται με τη βοήθεια του θεωρήματος ομαλής συνάρτησης (βλ. παρακάτω). Για n = b k : T(b k ) = T(b k- ) + f(b k ) = T(b k- ) + f(b k- ) + f(b k ) = = T() + Για παράδειγμα, f(n) = f(n) = n k i= k i= i ( ) i ( ) f b f b = k = log n i ( ) k k k i= i= b i b n f b = b = b = b b b 44
45 Κριτήριο Ομαλότητας Ορισμός: Η μη αρνητική συνάρτηση f, ορισμένη στο σύνολο των φυσικών αριθμών, λέγεται ομαλή (smooth) αν f(n) f(n + ), για κάθε n n 0, και f(n) = Θ(f(n)). Παράδειγμα: Η συνάρτηση f(n) = n log n είναι ομαλή, αφού εύκολα μπορούμε να δούμε ότι είναι αύξουσα, και f(n) = n log (n) = n(log + log n) = (log)n + n log n = Θ(n log n). Θεώρημα: Αν f ομαλή, τότε f(bn) = Θ(f(n)), για κάθε ακέραιο b. Παραδείγματα: log n, n, n log n, n a με a 0, ενώ a n με a, και n! όχι. Θεώρημα (κριτήριο ομαλότητας): Έστω Τ συνάρτηση τελικά αύξουσα και f μια ομαλή συνάρτηση. Αν T(n) = Θ(f(n)) για τιμές του n που είναι δυνάμεις του b, με b, τότε T(n) = Θ(f(n)), n N. Ανάλογα συμπεράσματα ισχύουν για τις περιπτώσεις των Ο και Ω. 45
46 Κύριο Θεώρημα (Master Theorem) Το κύριο θεώρημα αποτελεί «συνταγή» για την επίλυση αναδρομικών σχέσεων την μορφής T(n) = at(n/b) + f(n), () όπου a, b > σταθερές και f(n), μια ασυμπτωτικά θετική συνάρτηση. Το Κ.Θ. απαιτεί την απομνημόνευση 3 περιπτώσεων και έτσι μπορεί να προσδιορίζει εύκολα τη λύση πολλών αναδρομικών σχέσεων. Η αναδρομική σχέση () περιγράφει τη χρονική εκτέλεση ενός αλγόριθμου που διαιρεί το δεδομένο πρόβλημα μεγέθους n σε a υποπροβλήματα το καθένα μεγέθους n/b, όπου a και b θετικές σταθερές. Τα a το πλήθος υποπροβλήματα επιλύονται αναδρομικά το καθένα σε χρόνο T(n/b). Το κόστος της διαίρεσης του προβλήματος και του συνδιασμού των αποτελεσμάτων των υποπροπροβλημάτων δίνεται από τη συνάρτηση f(n). Οσον αφορά το ζήτημα της τεχνικής αρτιότητας η αναδρομική σχέση στην πραγματικότητα δεν είναι καλά ορισμένη γιατί η ποσότητα n/b πιθανόν να μην έχει ακέραια τιμή. Η αντικατάσταση καθενός από τους όρους T(n/b) είτε από T( n/b ) είτε από T( n/b ) δεν επηρεάζει την ασυμπωτική συμπεριφορά, γι αυτό το λόγο παραλείπουμε τα ανώφλια και τα κατώφλια από αναδρομικές σχέσεις τύπου «διαίρει-και-βασίλευε» χάριν απλότητας. 46
47 Κύριο Θεώρημα (Master Theorem) Πολλές «Διαίρει-και-Βασίλευε» αναδρομικές σχέσεις έχουν τη μορφή: Tn ( ) c αν n d = at( n / b) + f ( n) αν n > d Έστω a, b ακέραιοι τέτοιοι, ώστε a, b >. Έστω επίσης ότι n/b συμβολίζει το n/b ή το n/b. To Τ(n) μπορεί να φραγεί ασυμπτωτικά: T( n) = Θ Θ ( log a n ) b αν ( log a n log n) b f αν f ( n) ( n) = = Θ ( log a ) b ε O n ( log a n ) b ε > 0 c < Θ ( f ( n) ) αν f ( n) af = Ω ( n / b) < cf ( log a+ n ) b ε ( n) AND και αν for large για μεγάλα n 4
48 Κύριο Θεώρημα (Master Theorem) Σε καθεμία από τις 3 περιπτώσεις συγκρίνουμε τη συνάρτηση a f(n) με τη συνάρτηση n log b Σε ποιοτικό επίπεδο, η λύση της αναδρομικής σχέσης καθορίζεται από τη μεγαλύτερη από τις δυο συναρτήσεις. a Περίπτωση. αν η μεγαλύτερη είναι η n log b τότε η λύση είναι logb a T n = Θ n ( ) ( ) Περίπτωση 3. αν η μεγαλύτερη είναι η f(n) τότε η λύση είναι T ( n) = Θ( f ( n) ) Περίπτωση. αν οι δυο συναρτήσεις είναι ισομεγέθεις πολλαπλασιάζουμε με ένα λογαριθμικό παράγοντα T ( ) ( log ) b a n = Θ n lg n = Θ f ( n) ( lg n) 48
49 Κύριο Θεώρημα (Master Theorem) a n log b Στην περ. δεν αρκεί η f(n) να είναι μικρότερη από την αλλά θα πρέπει να είναι πολυωνυμικά μικρότερη, δηλαδή η f(n) θα πρέπει να είναι ασυμπτωτικά μικρότερη της n log b κατά ένα παράγοντα n ε για κάποια σταθερά ε > 0. Στην περ. 3 δεν αρκεί η f(n) να είναι μεγαλύτερη από την αλλά θα πρέπει να είναι πολυωνυμικά μεγαλύτερη και να ικανοποιεί το κριτήριο ομαλότητας f(n/b) cf(n). Η συνθήκη αυτή ικανοποιείται από τις περισσότερες πολυωνυμικά φραγμένες συναρτήσεις που θα μελετήσουμε. Οι 3 περιπτώσεις δεν καλύπτουν όλες τις δυνατότητες για την f(n). Μεταξύ των περιπτώσεων και υπάρχει ένα χάσμα, και ανάλογα χάσμα μεταξύ των περιπτώσεων και 3. a a n log b 4
50 Κύριο Θεώρημα: Παραδείγματα (Ι) T(n) = T(n/3) + n a =, b = 3, f(n) = n n log b a = n log 3 = Θ(n ) f(n) = O(n log 3 - ε ), όπου ε =, οπότε περίπτωση : T ( n) = Θ ( log a ) ( a ε = ) b logb n εφόσον f ( n) O n T(n) = Θ(n ) 50
51 Κύριο Θεώρημα: Παραδείγματα (ΙI) T(n) = T(n/3) + a =, b = 3/, f(n) = n log b a = n log 3/ = n 0 = f(n) = Θ(n log b α ) = Θ(), οπότε περίπτωση : ( lg ) T ( n) = Θ n 5
52 Κύριο Θεώρημα: Παραδείγματα (ΙII) T(n) = 3T(n/4) + nlgn a = 3, b = 4, f(n) = nlgn n log b a = n log 4 3 = O(n 0,03 ) f(n) = Ω(n log 4 3+ε ), όπου ε 0., ισχύει η περίπτωση 3, υπό την προϋπόθεση ότι ισχύει και το κριτήριο ομαλότητας για τη συνάρτηση f(n). Για αρκετά μεγάλα n έχουμε ότι ( n b) = 3( n 4) lg( n 4) ( 3 4) n lg n cf ( n) af = για c = 3/4. Σύμφωνα με την περίπτωση 3 η λύση της αναδρομικής σχέσης είναι T ( n) = Θ( n lg n) 5
53 Κύριο Θεώρημα: Παραδείγματα (ΙV) T(n) = T(n/) + nlgn a =, b =, f(n) = nlgn Το κύριο θεώρημα δε μπορεί να εφαρμοσθεί για αυτή την αναδρομική σχέση n log b a = n Εκ πρώτης όψεως φαίνεται ότι η σχέση εμπίπτει στην περίπτωση 3, δεδομένου ότι η f(n) = nlgn είναι ασυμπτωτικά μεγαλύτερη της n log b a = n Το πρόβλημα είναι ότι δεν είναι πολυωνυμικά μεγαλύτερη. Ο λόγος f(n)/ n log b a = (nlgn) /n = lgn, είναι ασυμπτωτικά μικρότερος του n ε για οποιαδήποτε θετική σταθερά ε. Αρα η αναδρομική σχέση βρίσκεται στο χάσμα μεταξύ των περιπτώσεων και 3. 53
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 4: Αναδρομικές σχέσεις και ανάλυση αλγορίθμων Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Αλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται
Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)
Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 2: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Ασκήσεις (2) Άσκηση 1
Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε
Υπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 5: Αναδρομικές σχέσεις - Υπολογισμός Αθροισμάτων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 5: Ασκήσεις Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής:
Εισαγωγή στους Αλγορίθμους
Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος
Ταξινόμηση με συγχώνευση 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 Διαίρει και Βασίλευε Η μέθοδος του «Διαίρει και Βασίλευε» είναι μια γενική αρχή σχεδιασμού αλγορίθμων
Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018
Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018 Αλγόριθμοι Ρυθμός αύξησης συναρτήσεων [Rosen 3.2] Αριθμητικές συναρτήσεις Τάξη αριθμητικών συναρτήσεων
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή
Διάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Δυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές Διωνυμικοί
Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/~gounaris/courses/ad auth gounaris/courses/ad 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Ορισµός. Εστω συναρτήσεις: 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
Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Σχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3.0 Σταύρος Δ. Νικολόπουλος 0-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Διαίρει και Βασίλευε Quick-sort και Merge-sort
Δυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις /προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,
Κεφάλαιο 4 Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Διαίρει και Βασίλευε (Divide-and-Conquer) Διαίρει-και-βασίλευε
1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις
Γενικό πλάνο Μαθηµατικά για Πληροφορική 6ο Μάθηµα 1 Ανάλυση αλγορίθµων Ηλίας Κουτσουπιάς, Γιάννης Εµίρης 2 Συµβολισµοί O, Ω και Θ Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 3
Μαθηµατικά για Πληροφορική
Μαθηµατικά για Πληροφορική 6ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 27/11/2008 1 / 55 Γενικό πλάνο 1 Ανάλυση αλγορίθµων 2 Συµβολισµοί
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 23 Μαρτίου 2017 1 / 20 Επιλογή Το πρόβληµα
(Γραμμικές) Αναδρομικές Σχέσεις
(Γραμμικές) Αναδρομικές Σχέσεις Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις
(Γραμμικές) Αναδρομικές Σχέσεις
(Γραμμικές) Αναδρομικές Σχέσεις ιδάσκοντες:. Φωτάκης. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις Αναπαράσταση
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ενότητα 2 ιαίρει και Βασίλευε Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 1 / 140 ιαίρει και Βασίλευε
Εισαγωγή στους Αλγορίθμους Ενότητα 5η
Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/courses/algorithms/ auth 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο του προβλήματος
Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Γ. MergeSort Ταξινόμηση με Συγχώνευση Δ. BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Δομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Αλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.
Διάλεξη : Παραδείγματα Ανάλυσης Πολυπλοκότητας / Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, 6 παραδείγματα
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 6: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων
Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 4 Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Διαίρει και Βασίλευε (Divide-and-Conquer) Διαίρει-και-βασίλευε (γενικά) Χωρίζουµε
Αλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Διαίρει και Κυρίευε 7 9 4 4 7 9 7 7 9 4 4 9 7 7 9 9 4 4 Διαίρει και Κυρίευε
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ
1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός
ρυθιμός αύξησης συναρτήσεων
ρυθμός αύξησης συναρτήσεων Παύλος Εφραιμίδης 1 περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις 2 ασυμπτωτική πολυπλοκότητα Πολυπλοκότητα χειρότερης περίπτωσης Συγχωνευτική
Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη
Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη 0. Εισαγωγή Αντικείμενο μαθήματος: Η θεωρητική μελέτη ανάλυσης των αλγορίθμων. Στόχος: επιδόσεις των επαναληπτικών και αναδρομικών αλγορίθμων.
Αλγοριθμικές Τεχνικές
Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Αλγοριθμικές Τεχνικές 1 Τεχνικές Σχεδιασμού Αλγορίθμων Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 1: Εισαγωγή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων
Τεχνικές Σχεδιασµού Αλγορίθµων Αλγόριθµοι Παύλος Εφραιµίδης pefraimi@ee.duth.gr Ορισµένες γενικές αρχές για τον σχεδιασµό αλγορίθµων είναι: ιαίρει και Βασίλευε (Divide and Conquer) υναµικός Προγραµµατισµός
Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική
Σχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 2.0 Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Πολυπλοκότητα Αναδρομικές Σχέσεις Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων
Ασυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός Επιμέλεια διαφανειών: Δημήτρης Φωτάκης (λίγες προσθήκες: Άρης Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα
a n = 3 n a n+1 = 3 a n, a 0 = 1
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort
οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ
Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ ΕΝΟΤΗΤΑ 1 ΕΙΣΑΓΩΓΗ 1 εδοµένα Σύνολο από πληροφορίες που πρέπει να αποθηκευτούν σε έναν υπολογιστή Υπολογιστικό Μοντέλο ένας επεξεργαστής και µεγάλος
(Γραμμικές) Αναδρομικές Σχέσεις
(Γραμμικές) Αναδρομικές Σχέσεις ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις Αναπαράσταση
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ενότητα 2 ιαίρει και Βασίλευε Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 2 1 / 24 Επιλογή Το πρόβληµα
Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Merge Sort (Ταξινόμηση με συγχώνευση) 6/14/2007 3:04 AM Merge Sort 1
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 6/14/2007 3:04 AM Merge Sort 1 Κύρια σημεία για μελέτη Το παράδειγμα του «διαίρει και βασίλευε» ( 4.1.1) Merge-sort
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, σελ. 55-62 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 5) Δυαδική αναζήτηση
1η Σειρά Γραπτών Ασκήσεων
1/20 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 1η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 2 3 4 5 2/20
Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
1o Φροντιστήριο ΗΥ240
1o Φροντιστήριο ΗΥ240 Άσκηση 1 Αποδείξτε τη μεταβατική και τη συμμετρική ιδιότητα του Θ Μεταβατική Ιδιότητα (ορισμός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)) Για να ισχύει f(n)= Θ(h(n))
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 23 Μαρτίου 2017 1 / 170 Αναδροµή ιαίρει
Στοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
Θεμελιώσεις Επιστήμης Η/Υ ΠΛΗ30 Τελική Εξέταση 26 Ιουνίου 2013 Ονοματεπώνυμο Φοιτητή Αριθμός Μητρώου Φοιτητή Τμήμα Υπογραφή Φοιτητή Υπογραφή Επιτηρητή Διάρκεια: 180 Ερώτημα Μονάδες Βαθμολογία 1 10+10 2
Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012
Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 3 5 1 Ταξινόμηση - Sorting Πίνακας Α 1 3 5 5 3 1 Ταξινόμηση (Φθίνουσα) Χωρίς Ταξινόμηση Ταξινόμηση
Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8β: Ταξινόμηση-Ταξινόμηση του Shell Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Σχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Τεχνικές Σχεδιασμού Αλγορίθμων
Τεχνικές Σχεδιασμού Αλγορίθμων Διαίρει και Βασίλευε Δυναμικός Προγραμματισμός Απληστία Π. Μποζάνης ΤHMMY - Αλγόριθμοι 2014-2015 1 Διαίρει και Βασίλευε Βασικά Βήματα Διαίρει: Κατάτμηση του αρχικού προβλήματος
Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ.
Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ. Σάλαρης Πολλές φορές μας δίνεται να λύσουμε ένα πρόβλημα που από την πρώτη
υναμικός Προγραμματισμός
υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί
Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Παντελής Μπουμπούλης, M.Sc., Ph.D. σελ. 2 math-gr.blogspot.com, bouboulis.mysch.gr
VI Ολοκληρώματα Παντελής Μπουμπούλης, MSc, PhD σελ mth-grlogspotcom, ououlismyschgr ΜΕΡΟΣ Αρχική Συνάρτηση Ορισμός Έστω f μια συνάρτηση ορισμένη σε ένα διάστημα Δ Αρχική συνάρτηση ή παράγουσα της στο Δ
- ΟΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ ΕΝΟΤΗΤΑ 6: ΜΗ ΠΕΠΕΡΑΣΜΕΝΟ ΟΡΙΟ ΣΤΟ
ΚΕΦΑΛΑΙΟ ο: ΣΥΝΑΡΤΗΣΕΙΣ - ΟΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ ΕΝΟΤΗΤΑ 6: ΜΗ ΠΕΠΕΡΑΣΜΕΝΟ ΟΡΙΟ ΣΤΟ R - ΟΡΙΟ ΣΥΝΑΡΤΗΣΗΣ ΣΤΟ ΑΠΕΙΡΟ - ΠΕΠΕΡΑΣΜΕΝΟ ΟΡΙΟ ΑΚΟΛΟΥΘΙΑΣ [Κεφ..6: Μη Πεπερασμένο Όριο στο R - Κεφ..7: Όρια Συνάρτησης
ίκτυα Ταξινόµησης (CLR κεφάλαιο 28)
ίκτυα Ταξινόµησης (CLR κεφάλαιο 28) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα σύγκρισης, δίκτυα ταξινόµησης Αρχή - ιτονική ταξινόµηση ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2- Μοντέλο στο οποίο
Υπολογιστική Πολυπλοκότητα
Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθµου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση µεγέθους στιγµιότυπου εισόδου. Χρόνος, µνήµη, επεξεργαστές, επικοινωνία,
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429
P(n, r) = n! P(n, r) = n r. (n r)! n r. n+r 1 r n!
Διακριτά Μαθηματικά Σύνοψη Θεωρίας Τυπολόγιο Αναστασία Κόλλια 20/11/2016 1 / 55 Κανόνες γινομένου και αθροίσματος Κανόνας αθροίσματος: Αν ένα γεγονός μπορεί να συμβεί κατά m τρόπους και ένα άλλο γεγονός
ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ
ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ Εισαγωγή Οι αριθμοί που εκφράζουν το πλήθος των στοιχείων ανά αποτελούν ίσως τους πιο σημαντικούς αριθμούς της Συνδυαστικής και καλούνται διωνυμικοί συντελεστές διότι εμφανίζονται
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Ασυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθμου Α: Ποσότητα
Ασυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική
Ταχεία Ταξινόμηση Quick-Sort
Ταχεία Ταξινόμηση Quc-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1 Outlne Quc-sort Αλγόριθμος Βήμα διαχωρισμού Δένδρο Quc-sort
Δομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα
Ταξινόμηση. 1. Γρήγορη ταξινόμηση 2. Ταξινόμηση με Συγχώνευση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Γρήγορη ταξινόμηση. Ταξινόμηση με Συγχώνευση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γρήγορη Ταξινόμηση Η γρήγορη ταξινόμηση qucksort), που αλλιώς ονομάζεται και ταξινόμηση µε διαμερισμό
Αλγόριθμοι Ταξινόμησης Μέρος 4
Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να
Επιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[ ] με n στοιχεία (όχι ταξινομημένος). Αριθμός k,
Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;
Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε
υναμικός Προγραμματισμός
υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί
Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας
Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας