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

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

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

Transcript

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

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

3 Ασυμπτωτικός συμβολισμός (ΙΙ) Συμβολισμός O Ορισμός: Για δεδομένη συνάρτηση g, συμβολίζουμε με Ο(g(n)) το σύνολο των συναρτήσεων { R N } Ogn ( ( )) = f( n): c, n : n n, f( n) cgn ( ) 0 0 λέμε ότι η g(n) είναι ένα ασυμπτωτικό άνω φράγμα της f(n), ή ότι η f(n) είναι Ο(g(n)), συμβολικά, f(n) = Ο(g(n)) [αν και πιο σωστά, f(n) Ο(g(n))]. Παράδειγμα: 5n n = Ο(n 2 ) Για να το δείξουμε, πρέπει να προσδιορίσουμε μια σταθερά c και έναν n 0 τ.ώ. n n 0, 5n n cn /n c ή επειδή /n c αν c 6 με n 20 c = 6 και n 0 = 20. Τα c και n 0 δεν είναι μοναδικά. 3

4 Ασυμπτωτικός συμβολισμός (ΙΙΙ) Ορισμός: Έστω η συνάρτηση f(n) = O(g(n)). Αν για κάθε συνάρτηση h(n) τέτοια, ώστε f(n) = O(h(n)) ισχύει επίσης ότι g(n) = O(h(n)), τότε λέμε ότι η g(n) είναι ένα αυστηρό ασυμπτωτικό άνω φράγμα της f(n). Παράδειγμα: Έστω f(n) = 8n Είναι f(n) = Ο(n 2 ). Πράγματι, έχουμε f(n) cn 2 8n cn 2 cn 2 8n Αν c = 1, είναι n 2 8n (n + 8)(n 16) 0, που ισχύει για κάθε n 16. Άρα c (=1) και n 0 (=16) τέτοια, ώστε f(n) cn 2 για κάθε n n 0. Μπορούμε τώρα να δείξουμε εύκολα ότι f(n) = Ο(n) (βλ. και Θ.5 παρακάτω). Προφανώς το Ο(n) είναι «αυστηρότερο» άνω φράγμα από το Ο(n 2 ). Με βάση τον παραπάνω ορισμό μπορούμε να δείξουμε ότι η g(n) = n είναι ένα αυστηρό ασυμπτωτικό άνω φράγμα της f(n) = 8n

5 Ιδιότητες του Ο Θ.1 Αν f 1 (n) = O(g 1 (n)) και f 2 (n) = O(g 2 (n)), τότε f 1 (n) + f 2 (n) = O(max(g 1 (n), g 2 (n)) Θ.2 Αν f 1 (n) = O(g 1 (n)) και f 2 (n) = O(g 2 (n)), τότε f 1 (n) f 2 (n) = O(g 1 (n) g 2 (n)) (Κανόνας Αθροίσματος) (Κανόνας Γινομένου) Θ.3 Αν f 1 (n) = O(g 1 (n)) και g 2 (n) μια συνάρτηση με μη αρνητικές τιμές για κάθε n 0, τότε f 1 (n) g 2 (n) = O(g 1 (n) g 2 (n)) Θ.4 Αν f(n) = O(g(n)) και g(n) = O(h(n)), τότε f(n) = O(h(n)) Θ.5 Αν f(n) = a m n m + a m 1 n m a 1 n + a 0 με a m > 0, τότε f(n) = O(n m ) Θ.6 Για κάθε ακέραιο k > 1, log k n = O(n). 5

6 Συμβάσεις Όταν γράφουμε μια έκφραση Ο παραλείπουμε όλους τους όρους εκτός από τους πλέον σημαντικούς. Π.χ. αντί του Ο(n 2 + nlogn + n + 1) γράφουμε απλά, Ο(n 2 ) Παραλείπουμε σταθερούς συντελεστές. Π.χ. αντί των Ο(3n 2 ), Ο(3) γράφουμε απλά, Ο(n 2 ), Ο(1) Για να είναι μια έκφραση Ο όσο το δυνατόν πιο χρήσιμη, καλόν είναι να βρίσκουμε ένα αυστηρό ασυμπτωτικό άνω φράγμα. Π.χ. αντί να γράψουμε f(n) = n = O(n 3 ) είναι προτιμότερο να γράψουμε f(n) = O(n) 6

7 Χαρακτηριστικές περιπτώσεις Στον Πιν. 3.1 οι εκφράσεις είναι κατά σειρά αύξοντος μεγέθους 7

8 Συμβολισμός Ω Συμβολισμός Ω Για δεδομένη συνάρτηση g, συμβολίζουμε με Ω(g(n)) το σύνολο των συναρτήσεων Ω ( gn ( )) = f( n): c R, n N: n n, cgn ( ) f( n) λέμε ότι η g(n) είναι ένα ασυμπτωτικό κάτω φράγμα της f(n), ή ότι η f(n) είναι Ω(g(n)), συμβολικά, f(n) = Ω(g(n)). Παράδειγμα: n = Ω(ln n). Πράγματι, είναι n 1, n > ln n (δηλ. c = 1, n 0 = 1). { } 0 0 8

9 Συμβολισμός Θ Συμβολισμός Θ Για δεδομένη συνάρτηση g, συμβολίζουμε με Θ(g(n)) το σύνολο των συναρτήσεων με άλλα λόγια, η f (n) είναι «ίση» με την g(n), με προσέγγιση σταθερού συντελεστή και λέμε ότι η g(n) είναι ένα ασυμπτωτικό φράγμα της f(n). Πρόταση: { R N } Θ ( gn ( )) = f( n): c, c, n : n n, cgn ( ) f( n) cgn ( ) Για δύο συναρτήσεις f(n) και g(n) ισχύει η ισοδυναμία f(n) = Θ(g(n)) f(n) = O(g(n)) και f(n) = Ω(g(n)) 9

10 Συμβολισμός Θ Παράδειγμα: 5n n = Θ(n 2 ). Για να το δείξουμε, πρέπει να προσδιορίσουμε σταθερές c 1, c 2 και n 0 τ.ώ. n n 0, c 1 n 2 5n n c 2 n 2 ή c /n c 2 ή επειδή c /n αν c 1 5 με n > 1 και /n c 2 αν c 2 6 με n 20 έχουμε c 1 = 5, c 2 = 6 και n 0 = 20. Τα c 1, c 2 και n 0 δεν είναι μοναδικά. Παρατήρηση: f(n) = Θ(g(n)) f(n) = O(g(n)) αφού, Θ(g(n)) O(g(n)). Πρόταση: Αν f(n) = a m n m + a m 1 n m a 1 n + a 0 με a m > 0, τότε f(n) = Θ(n m ). Ιδιότητα: n n Θ ( f( k) ) =Θ f( k). k= 1 k= 1 10

11 Ασυμπτωτική συμπεριφορά πολυωνύμων 11

12 Κανόνας του ορίου Ένα ισχυρό και χρήσιμο εργαλείο για να αποδείξει κανείς ότι κάποιες συναρτήσεις είναι της τάξης κάποιων άλλων, όπως επίσης και για να αποδείξει το αντίθετο, είναι ο κανόνας του ορίου, ο οποίος μας λέει ότι δοθέντων δύο συναρτήσεων f και g: N R+, έχουμε 12

13 (ή αλλιώς ) Κανόνας του ορίου Αν τα όρια πηλίκου οδηγούν σε απροσδιόριστες μορφές 0/0 ή / εφαρμόζεται ο κανόνας του de l Hopital 13

14 Ένα παράδειγμα Εστω οι συναρτήσεις f(n) = 2 n και g(n) = 3 n υπολογίστε το ασυμπτωτικό φράγμα για την f(n). Η απόδειξη θα γίνει με τον κανόνα του ορίου. Με τον κανόνα του de L Hopital έχουμε Οπότε για 2 lim 3 n n n 3 Χρησιμοποιώντας την ιδιότητα n Το αποτέλεσμα της διαίρεσης συγκλίνει στο 0 άρα Όμως και με τον κανόνα του de L Hopital δε μπορούμε να προχωρήσουμε καθώς και ο αριθμητής και ο παρονομαστής συνεχίζουν να αποκλίνουν. 2 = lim n lima n + n

15 Ασυμπτωτική Εκτίμηση Χρόνος εκτέλεσης αλγόριθμου Α: Αύξουσα συνάρτηση του Τ(n) που εκφράζει σε πόσο χρόνο ολοκληρώνεται ο Α όταν εφαρμόζεται σε στιγμ. μεγέθους n. Ενδιαφέρει η τάξη μεγέθους T(n) και όχι ακριβής εκτίμηση Τ(n). Ακριβής εκτίμηση είναι συχνά δύσκολη και εξαρτάται από υπολογιστικό περιβάλλον, υλοποίηση,... Τάξη μεγέθους είναι εγγενής ιδιότητα του αλγόριθμου. Δυαδική αναζήτηση έχει λογαριθμικό χρόνο. Γραμμική αναζήτηση έχει γραμμικό χρόνο. Ασυμπτωτική εκτίμηση αγνοεί σταθερές και εστιάζει σε τάξη μεγέθους χρόνου εκτέλεσης. 15

16 Ασυμπτωτικός Συμβολισμός Ο, Ω, Θ... εκφράζει τα αποτελέσματα ασυμπτωτικής εκτίμησης. Θ( ) δηλώνει την ακριβή εκτίμηση τάξης μεγέθους. { R N } Θ ( gn ( )) = f( n): c, c, n : n n, cgn ( ) f( n) cgn ( ) Θ(g(n)) σύνολο συναρτήσεων ίδιας τάξης μεγέθους με g(n). O( ) δηλώνει άνω φράγμα στην τάξη μεγέθους. Ogn ( ( )) = f( n): c R, n N: n n, f( n) cgn ( ) { } 0 0 Ο(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που δεν υπερβαίνει τάξη μεγέθους g(n). Ω( ) δηλώνει κάτω φράγμα στην τάξη μεγέθους. { R N } Ω ( gn ( )) = f( n): c, n : n n, cgn ( ) f( n) 0 0 Ω(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που δεν υπολείπεται τάξης μεγέθους g(n). 16

17 Για κάθε ακέραιο m > 1, η λογαριθμική συνάρτηση g(n) = log m (n) έχει τον ίδιο ρυθμό αύξηση με την log 2 (n) (ή lgn) γιατί : Από τις ιδιότητες των λογαρίθμων ισχύει: log m n= lοg 2 n/ log 2 m => log m n = (1/log 2 m) lοg 2 n για κάθε n>0. Συνεπώς καθώς ο όρος 1/log 2 m είναι σταθερά και ανεξάρτητη της τιμής του n, μπορούμε να παραλείπουμε τη βάση του λογαρίθμου όταν χρησιμοποιούμε το συμβολισμό Ο (και το συμβολισμό Θ). Αρα : log m n = Θ(logn) Οι εκθετικές συναρτήσεις αυξάνουν ταχύτερα από τις συναρτήσεις δύναμης: συνεπώς n k είναι O(b n ), για όλα τα b > 1, n > 1, and k 0. Οι περιορισμοί για τα b, n, και k εγγυώνται ότι και οι 2 συναρτήσεις είναι αύξουσες. (Η απόδειξη της πρότασης μπορεί να γίνει με επαγωγή ή με τον κανόνα του ορίου του de L Hopital). Οι λογαριθμικές συναρτήσεις έχουν μικρότερο ρυθμό αύξησης από τις συναρτήσεις δύναμης : log b n = O(n k ) για κάθε b > 1, k > 0. (είναι το αντίστροφο της προηγούμενης πρότασης). Αρα logn = O(n) και nlogn = O(n 2 ). 17

18 Ασυμπτωτικός Συμβολισμός 18

19 Ασυμπτωτικός Συμβολισμός 19

20 Practical Complexity 20

21 Πρακτικά αποδοτικοί Αλγόριθμοι 21

22 3.2 Ασυμπτωτική ανάλυση αλγορίθμων (I) Στα προηγούμενες ενότητες παρουσιάσαμε ένα λεπτομερές μοντέλο του υπολογιστή το οποίο περιλαμβάνει αρκετές παραμέτρους χρονομέτρησης και διαπιστώσαμε ότι πρόκειται για λεπτομέρειες που μπορούν να απλουστευθούν. Έτσι στη συνέχεια απλοποιήσαμε το μοντέλο μετρώντας τον χρόνο σε κύκλους ρολογιού και υποθέτοντας ότι κάθε μία από τις παραμέτρους είναι ίση με έναν κύκλο. Σε μεγάλο βαθμό εξακολουθεί το απλοποιημένο μοντέλο να περιλαμβάνει λεπτομέρειες τις οποίες μπορούμε να αγνοήσουμε. Στην ενότητα αυτή παρουσιάζουμε την έννοια των ασυμπτωτικών φραγμάτων κυρίως του Ο (μεγάλο όμικρον). Εξετάζοντας αυτά τα φράγματα μπορούμε να πούμε ότι οι κανόνες υπολογισμού και χειρισμού των εκφράσεων Ο απλοποιούν τα μέγιστα την ανάλυση του χρόνου εκτέλεσης ενός προγράμματος, όταν αυτό που μας ενδιαφέρει είναι η ασυμπτωτική του συμπεριφορά. Προκειμένου να αναλύσουμε έναν αλγόριθμο θα θεωρήσουμε το μοντέλο της μηχανής άμεσης ή τυχαίας προσπέλασης (Random Access Machine - RAM) με έναν επεξεργαστή όπου οι εντολές εκτελούνται ακολουθιακά (η μία κατόπιν της άλλης), δηλ. δεν υπάρχουν πράξεις που να εκτελούνται ταυτόχρονα. 22

23 Ασυμπτωτική ανάλυση αλγορίθμων (IΙ) Το μοντέλο RAM περιλαμβάνει εντολές οι οποίες υπάρχουν σε όλους τους πραγματικούς υπολογιστές: - αριθμητικές πράξεις (πρόσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση, υπόλοιπο, ακέραιο μέρος) - εντολές μεταφοράς δεδομένων (ανάκληση, αποθήκευση, αντιγραφή) - εντολές ελέγχου (διακλάδωση υπό συνθήκη και άνευ συνθήκης, κλήση υποπρογράμματος και επιστροφή) Όλες αυτές οι εντολές απαιτούν κάποιον σταθερό χρόνο για την εκτέλεσή τους. Ο χρόνος εκτέλεσης εξαρτάται από τα δεδομένα εισόδου. Γενικά, ο απαιτούμενος χρόνος αυξάνεται καθώς αυξάνεται το μέγεθος της εισόδου και γι αυτό συνηθίζεται να εκφράζουμε τον χρόνο εκτέλεσης ενός προγράμματος ως συνάρτηση του μεγέθους της εισόδου. Είναι αναγκαίο να διευκρινίσουμε τους όρους χρόνος εκτέλεσης και μέγεθος εισόδου. Το ποιο είναι το καταλληλότερο μέτρο για το μέγεθος εισόδου εξαρτάται από το πρόβλημα. Σε κάθε πρόβλημα που εξετάζουμε πρέπει να δηλώνουμε ρητά ποιο μέτρο χρησιμοποιούμε για το μέγεθος της εισόδου. 23

24 Ασυμπτωτική ανάλυση αλγορίθμων (IΙΙ) Για πολλά προβλήματα, όπως π.χ. η ταξινόμηση, το μέτρο θα είναι το πλήθος των στοιχείων της εισόδου. Για άλλα προβλήματα, όπως π.χ. ο πολ/σιασμός δύο ακεραίων, το μέτρο θα είναι το συνολικό πλήθος bit που απαιτούνται για την αναπαράσταση της εισόδου στο δυαδικό σύστημα. Ενίοτε είναι ενδεδειγμένο να περιγράφουμε το μέγεθος της εισόδου με δύο αριθμούς, όπως για παράδειγμα, όταν η είσοδος είναι ένας γράφος (πλήθος κόμβων, πλήθος ακμών). Ο χρόνος εκτέλεσης ενός αλγορίθμου για δεδομένη είσοδο είναι το πλήθος των στοιχειωδών πράξεων ή βημάτων που εκτελούνται, όπου το βήμα πρέπει να ορίζεται έτσι ώστε να είναι κατά το δυνατόν πιο ανεξάρτητο από τον τύπο της μηχανής. Θα κάνουμε την παραδοχή (συμβατή με το μοντέλο RAM) ότι ο χρόνος εκτέλεσης για κάθε γραμμή του προγράμματος ή του ψευδοκώδικά μας είναι σταθερός και αν και η μια γραμμή μπορεί να απαιτεί διαφορετικό χρόνο από την άλλη, θα υποθέσουμε ότι κάθε εκτέλεση της i-οστής γραμμής απαιτεί χρόνο c i, όπου c i = σταθ. (= Ο(1), με τον ασυμπτωτικό συμβολισμό). Θεωρούμε, για παράδειγμα, την ανάλυση του χρόνου εκτέλεσης του Προγ. 2.1, που είναι ο αλγόριθμος υπολογισμού της τιμής ενός πολυωνύμου μe τον κανόνα του Horner: 24

25 Ασυμπτωτική ανάλυση αλγορίθμων (IV) 1. int Horner (int a[ ], int n, int x) 2. { 3. int result = a[n]; 4. for ( int i = n -1; i >= 0; - -i ) 5. result = result * x + a[i]; 6. return result; 7. } 25

26 Ασυμπτωτική ανάλυση αλγορίθμων (V) Στον Πιν. 3.1 παρουσιάζουμε τον χρόνο εκτέλεσης με τρεις τρόπους: μια λεπτομερή ανάλυση, μια απλουστευμένη ανάλυση και μια ασυμπτωτική ανάλυση. Και οι τρεις τρόποι είναι σε συμφωνία: οι εντολές 3, 4a και 6 εκτελούνται σε μια σταθερή ποσότητα χρόνου και οι εντολές 4b, 4c και 5 εκτελούνται σε μια ποσότητα χρόνου που είναι ανάλογη του n συν μία σταθερά (γραμμική). Το αποτέλεσμα της ασυμπτωτικής ανάλυσης δεν εξαρτάται από τις τιμές των διαφόρων σταθερών και ως εκ τούτου το ασυμπτωτικό φράγμα μας λέει κάτι το θεμελιώδες για τον χρόνο εκτέλεσης του αλγορίθμου, το οποίο δεν εξαρτάται από τα χαρακτηριστικά του υπολογιστή (και του μεταγλωττιστή) που χρησιμοποιείται για την εκτέλεση του προγράμματος. Βέβαια, ενώ η ασυμπτωτική ανάλυση μπορεί να είναι σημαντικά απλούστερη, το μόνο που μας δίνει είναι ένα άνω φράγμα του χρόνου εκτέλεσης του αλγορίθμου. Ειδικότερα, δεν μαθαίνουμε τον πραγματικό χρόνο εκτέλεσης ενός προγράμματος. 26

27 3.3 Κανόνες για την ανάλυση Ο του χρόνου εκτέλεσης (Ι) Κανόνας 1 (Ακολουθιακή σύνθεση) Ο χρόνος εκτέλεσης χειρότερης περίπτωσης μιας ακολουθίας εντολών E 1 ; E 2 ; E k ; είναι Ο(max(T 1 (n),, T k (n))), όπου ο χρόνος εκτέλεσης της E i, της i-οστής εντολής της ακολουθίας, είναι O(T i (n)). O κανόνας αυτός απορρέει από το Θ.1. Ο συνολικός χρόνος εκτέλεσης μιας ακολουθίας εντολών είναι το άθροισμα των χρόνων εκτέλεσης των επιμέρους εντολών. Με βάση το Θ.1, όταν υπολογίζουμε το άθροισμα μιας σειράς από συναρτήσεις, είναι η μεγαλύτερη (max) απ αυτές που καθορίζει το φράγμα. 27

28 Κανόνες για την ανάλυση Ο του χρόνου εκτέλεσης (ΙΙ) Κανόνας 2 (Επανάληψη) Ο χρόνος εκτέλεσης χειρότερης περίπτωσης ενός βρόχου for, for (E 1 ; E 2 ; E 3 ;) E 4 ; είναι Ο(max(T 1 (n), T 2 (n) (Ι(n) + 1), T 3 (n) Ι(n), T 4 (n) Ι(n))), όπου ο χρόνος εκτέλεσης της εντολής E i είναι O(T i (n)) για i = 1, 2, 3 και 4, και Ι(n) είναι το πλήθος των επαναλήψεων που εκτελούνται στη χειρότερη περίπτωση. Ο κανόνας αυτός είναι απόρροια του Θ.3. Έστω π.χ. ο απλός βρόχος for (int i = 0; i < n; ++i;) E 4 ; Εδώ E 1 είναι int i = 0, οπότε ο χρόνος εκτέλεσής της είναι μια σταθερά (T 1 (n) = 1). E 2 είναι i < n, οπότε ο χρόνος εκτέλεσής της είναι μια σταθερά (T 2 (n) = 1) και E 3 είναι ++i οπότε ο χρόνος εκτέλεσής της είναι μια σταθερά (T 3 (n) = 1). Επίσης, το πλήθος των επαναλήψεων είναι I(n) = n. 28

29 Κανόνες για την ανάλυση Ο του χρόνου εκτέλεσης (ΙΙΙ) Σύμφωνα με τον Κανόνα 2 ο χρόνος εκτέλεσης θα είναι Ο(max(1, 1 (n +1), 1 n, T 4 (n) n)), που απλοποιείται σε Ο(max(n, T 4 (n) n)). Επιπλέον, αν το σώμα του βρόχου κάνει οτιδήποτε, ο χρόνος εκτέλεσής του πρέπει να είναι T 4 (n)=ω(1). Άρα, το σώμα του βρόχου θα κυριαρχεί στον υπολογισμό του max και ο χρόνος εκτέλεσης του βρόχου είναι απλά Ο(T 4 (n) n)). Αν δεν γνωρίζουμε τον ακριβή αριθμό I(n) των επαναλήψεων που εκτελούνται, μπορούμε πάλι να χρησιμοποιήσουμε τον Κανόνα 2, με την προϋπόθεση ότι έχουμε ένα άνω φράγμα, I(n) = Ο(f(n)), του πλήθους των επαναλήψεων που εκτελούνται. Στην περίπτωση αυτή, ο χρόνος εκτέλεσης είναι Ο(max(T 1 (n), T 2 (n) (f(n) + 1), T 3 (n) f(n), T 4 (n) f(n))) 29

30 Κανόνες για την ανάλυση Ο του χρόνου εκτέλεσης (ΙV) Κανόνας 3 (Εκτέλεση υπό συνθήκη) Ο χρόνος εκτέλεσης χειρότερης περίπτωσης μιας εντολής if-then-else, if (E 1 ;) E 2 ; else E 3 ; είναι Ο(max(T 1 (n), T 2 (n), T 3 (n))), με τον χρόνο εκτέλεσης της εντολής E i να είναι Ο(T i (n)), για i = 1, 2, 3. Ο κανόνας αυτός απορρέει από την παρατήρηση ότι, ο συνολικός χρόνος μιας εντολής if-then-else δεν υπερβαίνει το άθροισμα του χρόνου εκτέλεσης του ελέγχου συνθήκης, E 1, και του μεγαλύτερου από τους χρόνους εκτέλεσης του τμήματος then, E 2, και του τμήματος else, E 3. 30

31 Παράδειγμα 1 (Ι) Πρόβλημα: Υπολογισμός των όρων της ακολουθίας αθροισμάτων (σειρά) S 0, S 1,, S n-1, όπου j Sj = ai i= 0 Ο αλγόριθμος για τον υπολογισμό των όρων της σειράς δίνεται στο Προγ. 3.1 και στον Πιν. 3.2 συνοψίζουμε τον υπολογισμό του χρόνου εκτέλεσης 1. void PrefixSums (int a[], int n) 2. { 3. for ( int j = n - 1; j >= 0; - -j ) 4. { 5. int sum = 0; 6. for (int i = 0; i <= j; ++i) 7. sum += a[i]; 8. a[j] = sum; 9. } 10.} 31

32 1. void PrefixSums (int a[], int n) 2. { 3. for ( int j = n - 1; j >= 0; - -j ) 4. { 5. int sum = 0; 6. for (int i = 0; i <= j; ++i) 7. sum += a[i]; 8. a[j] = sum; 9. } 10. } 32

33 Παράδειγμα 1 (ΙΙ) Συνήθως ο ευκολότερος τρόπος για να αναλύσουμε τον χρόνο εκτέλεσης ενός προγράμματος που περιλαμβάνει ένθετους βρόχους είναι να αρχίσουμε με το σώμα του πλέον εσωτερικού βρόχου. Στο Προγ. 3.1 τον πλέον εσωτερικό βρόχο συνιστούν οι γραμμές 6 και 7. Συνολικά το κόστος είναι σταθερό: συμπεριλαμβάνει το σώμα του βρόχου (γρ. 7), τον έλεγχο συνθήκης (γρ. 6b) και την προσαύξηση του δείκτη βρόχου (γρ. 6c). Για μια δεδομένη τιμή του j, ο (πλέον) εσωτερικός βρόχος εκτελείται συνολικά j + 1 φορές. Και αφού ο εξωτερικός βρόχος εκτελείται για j = n 1, n 2,, 0, στη χειρότερη περίπτωση, ο εσωτερικός βρόχος εκτελείται n φορές. Επομένως η συνεισφορά του εσωτερικού βρόχου στον χρόνο εκτέλεσης μιας επανάληψης του εξωτερικού βρόχου είναι Ο(n). To υπόλοιπο του εξωτερικού βρόχου (γρ. 5 και 8) απαιτεί σταθερό χρόνο σε κάθε επανάληψη. Αυτός ο σταθερός χρόνος υπερκαλύπτεται από τον Ο(n) του εσωτερικού βρόχου. Ο εξωτερικός βρόχος κάνει ακριβώς n επαναλήψεις. Επομένως ο συνολικός χρόνος εκτέλεσης του προγράμματος είναι Ο(n 2 ). Είναι αυτό ένα αυστηρό Ο φράγμα; 33

34 Παράδειγμα 1 (ΙIΙ) Είναι λογικό να μην είναι, εξαιτίας της υπόθεσης που κάναμε στην ανάλυση για τη χειρότερη περίπτωση σε σχέση με τον αριθμό των εκτελέσεων του εσωτερικού βρόχου. Ο εσωτερικός βρόχος εκτελείται j + 1 φορές για j = n 1, n 2,, 0. Κάναμε όμως τον υπολογισμό υποθέτοντας ότι ο εσωτερικός βρόχος εκτελείται O(n) φορές σε κάθε επανάληψη του εξωτερικού βρόχου. Για να προσδιορίσουμε όμως αν το αποτέλεσμά μας είναι ένα αυστηρό φράγμα, θα πρέπει να προσδιορίσουμε ακριβέστερα τον πραγματικό χρόνο εκτέλεσης του προγράμματος. Υπάρχει ακριβέστερος τρόπος υπολογισμού που μπορούμε να κάνουμε. Αν παρατηρήσουμε ότι ο χρόνος που καταναλώνεται στον εσωτερικό βρόχο κυριαρχεί (είναι το βαρόμετρο) στον συνολικό χρόνο εκτέλεσης και ότι το κόστος για μια επανάληψη του εσωτερικού βρόχου είναι σταθερό, τότε το μόνο που χρειάζεται να κάνουμε είναι να προσδιορίσουμε ακριβώς το πλήθος των εκτελέσεων του εσωτερικού βρόχου. Αυτό δίνεται από το άθροισμα n 1 n nn ( + 1) 2 ( j+ 1) = j = = Θ( n ) 2 j= 0 j= 1 Επομένως το αποτέλεσμά μας, T(n) = O(n 2 ), είναι ένα αυστηρό Ο φράγμα. 34

35 Παράδειγμα 2 Θα συγκρίνουμε τους χρόνους εκτέλεσης δύο διαφορετικών προγραμμάτων που υπολογίζουν τους όρους της ακολουθίας Fibonacci (αριθμοί Fibonacci) οι οποίοι δίνονται από τη σχέση Το Προγ. 3.2 είναι μια άμεση υλοποίηση του ορισμού του F n ως αθροίσματος των δύο προηγούμενων όρων: 1. int Fibonacci (int n) 2. { 3. int previous = -1; 4. int result = 1; 5. for ( int i = 0; i <= n; ++i ) 6. { 7. int sum = result + previous; 8. previous = result; 9. result = sum; 10. } 11. return result; 12.} 35

36 Ο χρόνος εκτέλεσης αυτού του αλγορίθμου είναι Ο(n) όπως αναλυτικά παρουσιάζεται στον Πιν Η ακολουθία Fibonacci είναι αναδρομική αλλά ο αλγόριθμος του Προγ. 3.2 είναι επαναληπτικός. Ένας αναδρομικός αλγόριθμος δίνεται στο Προγ. 3.3 και ο χρόνος εκτέλεσής του παρουσιάζεται στον Πιν. 3.4: 36

37 1. int Fibonacci (int n) 2. { 3. if (n = = 0 n = = 1) 4. return n; 5. else 6. return Fibonacci(n 1) * Fibonacci (n 2); 7. } 37

38 Από τον Πιν. 3.4 βρίσκουμε ότι ο χρόνος εκτέλεσης του αναδρομικού αλγορίθμου για τους αριθμούς Fibonacci δίνεται από την αναδρομική σχέση Επειδή μας ενδιαφέρει η ασυμπτωτική συμπεριφορά (το ασυμπτωτικό φράγμα) του αποτελέσματος, απλά αγνοούμε προς στιγμήν τα Ο και λύνουμε την αναδρομική σχέση Πρόκειται για τη μη ομογενή γραμμική αναδρομική σχέση 2 ου βαθμού α n = α n-1 + α n (1) με a 0 = 1 και a 1 = 1 (αρχικές συνθήκες) Για να τη λύσουμε εφαρμόζουμε τη γνωστή, από το μάθημα των Διακριτών Μαθηματικών, διαδικασία επίλυσης γραμμικών αναδρομικών εξισώσεων με σταθερούς συντελεστές. 38

39 Η αντίστοιχη ομογενής εξίσωση είναι με χαρακτηριστική εξίσωση x 2 x 1 = 0 a a a n n 1 n 2 = 0 οι ρίζες της χαρακτηριστικής εξίσωσης βρίσκουμε ότι είναι ( + ) ( ) ρ = και ρ = 1 5 2= 1 ρ η γενική λύση της ομογενούς αναδρομικής εξίσωσης είναι της μορφής a = c ρ + c ρ ( H) n n n Επειδή το μη ομογενές τμήμα είναι 1, αναζητούμε μερική λύση της μη ομογενούς της μορφής ( P ) an = Με αντικατάσταση στην (1) βρίσκουμε c = -1, οπότε η γενική λύση της (1) είναι a a a c c ( H) ( P) n n n = n + n = 1 ρ1 + 2 ρ2 1 Οι σταθερές βρίσκονται με αντικατάσταση στις αρχικές συνθήκες: c 1 + c 2 = 2 c 1 ρ 1 + c 2 ρ 2 = 2 39 c

40 Λύνοντας το σύστημα βρίσκουμε c ( 1+ 5) c ( 1 5) = 5 και = Τελικά η λύση της αναδρομικής σχέσης είναι ( ) n ( ) a = 2 5 ρ 2 5 ρ 1 n + 1 n ( )( n+ 1 n+ 1) 1 2 Tn ( ) = 2 5 ρ ρ 1 Είναι ρ 1 = φ και ρ 2 = 1/φ 0.62 οπότε T(n) = Θ(φ n ) 40

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

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

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

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

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

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

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

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

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

Ασυμπτωτικός Συμβολισμός

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

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

Ασυμπτωτικός Συμβολισμός

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

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

Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη

Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη 0. Εισαγωγή Αντικείμενο μαθήματος: Η θεωρητική μελέτη ανάλυσης των αλγορίθμων. Στόχος: επιδόσεις των επαναληπτικών και αναδρομικών αλγορίθμων.

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

Υπολογιστική Πολυπλοκότητα

Υπολογιστική Πολυπλοκότητα Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθµου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση µεγέθους στιγµιότυπου εισόδου. Χρόνος, µνήµη, επεξεργαστές, επικοινωνία,

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

Ασκήσεις (2) Άσκηση 1

Ασκήσεις (2) Άσκηση 1 Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,

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

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

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

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

Ασυμπτωτικός Συμβολισμός

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

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

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

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας

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

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Ορισµός. Εστω συναρτήσεις: 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

Δομές Δεδομένων Ενότητα 2 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

Διακριτά Μαθηματικά. Γιάννης Εμίρης. Τμήμα Πληροφορικής & Τηλεπικοινωνιών ΕΚΠΑ. Οκτώβριος ΔιακριτάΜαθηματικά Γιάννης Εμίρης http://eclass.uoa.gr/ Τμήμα Πληροφορικής & Τηλεπικοινωνιών ΕΚΠΑ Οκτώβριος 2016 Διακριτά Μαθηματικά Αλγόριθμοι Ρυθμόςαύξησηςσυναρτήσεων[Rosen 3.2] Διακριτά Μαθηματικά Ορισμοί

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

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

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

ρυθιμός αύξησης συναρτήσεων ρυθμός αύξησης συναρτήσεων Παύλος Εφραιμίδης 1 περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις 2 ασυμπτωτική πολυπλοκότητα Πολυπλοκότητα χειρότερης περίπτωσης Συγχωνευτική

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

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική

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

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

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

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

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις Γενικό πλάνο Μαθηµατικά για Πληροφορική 6ο Μάθηµα 1 Ανάλυση αλγορίθµων Ηλίας Κουτσουπιάς, Γιάννης Εµίρης 2 Συµβολισµοί O, Ω και Θ Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 3

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

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε

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

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

Μαθηµατικά για Πληροφορική Μαθηµατικά για Πληροφορική 6ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 27/11/2008 1 / 55 Γενικό πλάνο 1 Ανάλυση αλγορίθµων 2 Συµβολισµοί

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

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

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

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 5: Αναδρομικές σχέσεις - Υπολογισμός Αθροισμάτων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

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

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

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου

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

1o Φροντιστήριο ΗΥ240

1o Φροντιστήριο ΗΥ240 1o Φροντιστήριο ΗΥ240 Άσκηση 1 Αποδείξτε τη μεταβατική και τη συμμετρική ιδιότητα του Θ Μεταβατική Ιδιότητα (ορισμός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)) Για να ισχύει f(n)= Θ(h(n))

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

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

Δομές Δεδομένων & Αλγόριθμοι Απόδοση Αλγορίθμων Πληροφορικής 1 Απόδοση Αλγορίθμων Συνήθως υπάρχουν πολλοί τρόποι (αλγόριθμοι) για την επίλυση ενός προβλήματος. Πώς επιλέγουμε μεταξύ αυτών; Πρέπει να ικανοποιηθούν δύο (αντικρουόμενοι)

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

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

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

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

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

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ ΕΝΟΤΗΤΑ 1 ΕΙΣΑΓΩΓΗ 1 εδοµένα Σύνολο από πληροφορίες που πρέπει να αποθηκευτούν σε έναν υπολογιστή Υπολογιστικό Μοντέλο ένας επεξεργαστής και µεγάλος

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

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

(Γραμμικές) Αναδρομικές Σχέσεις

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

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

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

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

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

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το

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

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 6) 1 / 20 Ρυθμοί αύξησης Γραμμικός ρυθμός αύξησης: n, 2n, Πολυωνυμικός

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 2: Ανάλυση Αλγορίθμων. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 2: Ανάλυση Αλγορίθμων. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 2: Ανάλυση Αλγορίθμων Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

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

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

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

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

(Γραμμικές) Αναδρομικές Σχέσεις

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

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

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

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

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

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

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

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

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035).

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035). Ανάλυση Αλγορίθµων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Ανάλυση αλγορίθµων Ο, Θ, Ω Ανάλυση µη αναδροµικών αλγόριθµων Ανάλυση αναδροµικών αλγόριθµων Εµπειρική Ανάλυση Visualization Απόδοση Αλγορίθµων Απόδοση

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

(Γραμμικές) Αναδρομικές Σχέσεις

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

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

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

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

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

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

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

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

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

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

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

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

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

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

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

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

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

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

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

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

ΣΥΝΟΠΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ ΜΑΘΗΜΑΤΙΚΑ Ι.Ι (τεύχος-1-)

ΣΥΝΟΠΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ ΜΑΘΗΜΑΤΙΚΑ Ι.Ι (τεύχος-1-) ΣΥΝΟΠΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ ΜΑΘΗΜΑΤΙΚΑ Ι.Ι (τεύχος--) .. Μια χρήσιμη ανασκόπηση... Δυνάμεις Πραγματικών Αριθμών Ο συνοπτικός τρόπος για να εκφράσουμε το γινόμενο : 2*2*2*2 4 είναι να το γράψουμε:

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

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

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

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

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

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

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

Τηλ , Fax: , URL:

Τηλ , Fax: , URL: Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ Παναγιώτα Φατούρου faturu@cs.uoi.gr Σεπτέµβριος, 2005 Τµήµα Πληροφορικής, Πανεπιστήµιο Ιωαννίνων, Τ.Θ. 1186, Γραφείο Α26, Τηλ. +30 26510 98808, Fax:

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗΥ240: οµές εδοµένων. ιδάσκουσα: Παναγιώτα Φατούρου ΗΥ240 - Παναγιώτα Φατούρου 2

ΗΥ240: οµές εδοµένων. ιδάσκουσα: Παναγιώτα Φατούρου ΗΥ240 - Παναγιώτα Φατούρου 2 ΗΥ240: οµές εδοµένων ιδάσκουσα: Παναγιώτα Φατούρου Υποχρεωτικό Μάθηµα 2ου έτους Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Ενότητα 1 Εισαγωγή ΗΥ240 - Παναγιώτα Φατούρου 2 Εισαγωγικά Θέµατα Αντικείµενο

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

ΗΥ240: οµές εδοµένων

ΗΥ240: οµές εδοµένων ΗΥ240: οµές εδοµένων ιδάσκουσα: Παναγιώτα Φατούρου Υποχρεωτικό Μάθηµα 2ου έτους Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Ενότητα 1 Εισαγωγή ΗΥ240 - Παναγιώτα Φατούρου 2 Εισαγωγικά Θέµατα Αντικείµενο

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

Κεφάλαιο 2 Ανάλυση Αλγορίθμων

Κεφάλαιο 2 Ανάλυση Αλγορίθμων Κεφάλαιο Ανάλυση Αλγορίθμων Περιεχόμενα.1 Εισαγωγή... 0. Εμπειρική και Θεωρητική Ανάλυση Αλγορίθμων.....1 Εμπειρική Πολυπλοκότητα..... Θεωρητική Πολυπλοκότητα... 3.3 Ανάλυση Χειρότερης και Αναμενόμενης

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

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

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

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

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

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

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

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

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

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

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 8. Πότε το γινόμενο δύο ή περισσοτέρων αριθμών παραγόντων είναι ίσο με το μηδέν ;

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 8. Πότε το γινόμενο δύο ή περισσοτέρων αριθμών παραγόντων είναι ίσο με το μηδέν ; ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ ΚΕΦΑΛΑΙΟ ο : ( ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ) ΠΑΡΑΤΗΡΗΣΗ : Το κεφάλαιο αυτό περιέχει πολλά θέματα που είναι επανάληψη εννοιών που διδάχθηκαν στο Γυμνάσιο γι αυτό σ αυτές δεν θα επεκταθώ αναλυτικά

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

* * * ( ) mod p = (a p 1. 2 ) mod p.

* * * ( ) mod p = (a p 1. 2 ) mod p. Θεωρια Αριθμων Εαρινο Εξαμηνο 2016 17 Μέρος Α: Πρώτοι Αριθμοί Διάλεξη 1 Ενότητα 1. Διαιρετότητα: Διαιρετότητα, διαιρέτες, πολλαπλάσια, στοιχειώδεις ιδιότητες. Γραμμικοί Συνδυασμοί (ΓΣ). Ενότητα 2. Πρώτοι

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

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

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

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

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

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

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

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

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

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

περιεχόμενα ρυθιμός αύξησης συναρτήσεων ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση ασυμπτωτικοί συμβολισμοί ασυμπτωτικός συμβολισμος ρυθμός αύξησης συναρτήσεων περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις Παύλος Εφραιμίδης 2 ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση Πολυπλοκότητα χειρότερης

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας

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

a n = 3 n a n+1 = 3 a n, a 0 = 1

a n = 3 n a n+1 = 3 a n, a 0 = 1 Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

1ο Κεφάλαιο: Συστήματα

1ο Κεφάλαιο: Συστήματα ο Κεφάλαιο: Συστήματα Γραμμικά συστήματα i. Ποια εξίσωση λέγεται γραμμική; ii. Πως μεταβάλλεται η ευθεία y, 0 ή 0 για τις διάφορες τιμές των α,β,γ; iii. Τι ονομάζεται λύση μιας γραμμικής εξίσωσης; iv.

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

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

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

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

Μαθηματικά Γ Γυμνασίου

Μαθηματικά Γ Γυμνασίου Α λ γ ε β ρ ι κ έ ς π α ρ α σ τ ά σ ε ι ς 1.1 Πράξεις με πραγματικούς αριθμούς (επαναλήψεις συμπληρώσεις) A. Οι πραγματικοί αριθμοί και οι πράξεις τους Διδακτικοί στόχοι Θυμάμαι ποιοι αριθμοί λέγονται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

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

Αναδρομή Ανάλυση Αλγορίθμων Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).

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

O Χρόνος Εκτέλεσης. προγραμμάτων ΚΕΦΑΛΑΙΟ 3. Τα θέματα αυτού του κεφαλαίου

O Χρόνος Εκτέλεσης. προγραμμάτων ΚΕΦΑΛΑΙΟ 3. Τα θέματα αυτού του κεφαλαίου ΚΕΦΑΛΑΙΟ 3 O Χρόνος Εκτέλεσης Προγραμμάτων Στο Κεφάλαιο 2 είδαμε δύο ριζικά διαφορετικούς αλγόριθμους ταξινόμησης: τον αλγόριθμο ταξινόμησης με εισαγωγή και τον αλγόριθμο ταξινόμησης με συγχώνευση. Υπάρχουν,

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

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

ΠΛΗ111. Ανοιξη Μάθηµα 2 ο. Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 2 ο Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Αλγόριθµοι Ορισµός Παράδειγµα Ασυµπτωτική

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

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ; Εντολή επανάληψης Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή Πρόβλημα Πώς θα υπολογίσουμε το άθροισμα των ακέραιων 1 5000; Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί

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

5.1. Προσδοκώμενα αποτελέσματα

5.1. Προσδοκώμενα αποτελέσματα 5.1. Προσδοκώμενα αποτελέσματα Όταν θα έχεις ολοκληρώσει τη μελέτη αυτού του κεφαλαίου θα έχεις κατανοήσει τις τεχνικές ανάλυσης των αλγορίθμων, θα μπορείς να μετράς την επίδοση των αλγορίθμων με βάση

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

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

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

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

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

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

(a 1, b 1 ) (a 2, b 2 ) = (a 1 a 2, b 1 b 2 ).

(a 1, b 1 ) (a 2, b 2 ) = (a 1 a 2, b 1 b 2 ). ΕΜ0 - Διακριτά Μαθηματικά Ιανουαρίου 006 Άσκηση - Λύσεις Πρόβλημα [0 μονάδες] Εστω L και L δύο κυκλώματα σε ένα γράφημα G. Εστω a μία ακμή που ανήκει και στο L και στο L και έστω b μία ακμή που ανήκει

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