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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης Αρχείων

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΤ ΟΙΚΟΝ ΕΡΓΑΣΙΑ 1 ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: 22/02/10

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 1 Συμβολοσειρές, Πίνακες, Δείκτες

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

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

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

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

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

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

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 3 Μοντελοποίηση Εστιατορίου (take-away)

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Υλοποίηση Εφαρμογής Εστιατορίου (take-away)

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

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

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

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

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

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

Σειρά Προβλημάτων 1 Λύσεις

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις

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

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

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

Σημειωματάριο μαθήματος 1ης Νοε. 2017

Θεωρία Υπολογισμού και Πολυπλοκότητα

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

B = {x A : f(x) = 1}.

Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

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

Σειρά Προβλημάτων 5 Λύσεις

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Αναδροµή (Recursion) ύο παρεξηγήσεις. Σκέψου Αναδροµικά. Τρίγωνο Sierpinski Μη αναδροµικός ορισµός;

Μαθηματική Επαγωγή. Τεχνικές Απόδειξης. Αποδείξεις Ύπαρξης. Μαθηματική Επαγωγή

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Τηλ , Fax: , URL:

ΓΕΝΙΚΟ ΛΥΚΕΙΟ Λ. ΑΙΔΗΨΟΥ ΣΧΟΛ. ΕΤΟΣ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΠΕΡΙΟΔΟΥ ΜΑΪΟΥ ΙΟΥΝΙΟΥ ΑΛΓΕΒΡΑ Α ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Λύσεις Εξετάσεων Φεβρουαρίου Ακ. Έτους

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Φροντιστήριο #4 Λυμένες Ασκήσεις Μαθηματική Επαγωγή 13/3/2018

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

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

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

ΗΥ118: Διακριτά Μαθηματικά Εαρινό εξάμηνο 2016 Λύσεις ασκήσεων προόδου

Σειρά Προβλημάτων 1 Λύσεις

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

Σειρά Προβλημάτων 1 Λύσεις

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

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

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

x < y ή x = y ή y < x.

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

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα

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

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής: 01/02/2013 Ημερομηνία Παράδοσης: 15/02/2013 ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το χρόνο εκτέλεσης διαφόρων λειτουργιών χρησιμοποιώντας τους ορισμούς που διδαχτήκατε, την μέθοδο της μαθηματικής επαγωγής και την μέθοδο της αντικατάστασης. Άσκηση 1 (15 μονάδες) Χρησιμοποιείστε τον ορισμό «f(x) είναι Ο( g(x) )» για να δείξετε ότι: Διαβάζετε προσεκτικά την εκφώνηση Μην θεωρείτε ότι κάποια βήματα εννοούνται α) 9 4 7 είναι Ο Τότε, εξ ορισμού, πρέπει να υπάρχουν σταθερές c και x 0 τέτοιες ώστε 9 4 7 c x 4 για κάθε x x 0 9 4 7 9 4 7 =21 Συνεπώς ισχύει αφού υπάρχουν σταθερές, δηλ. c=21, x 0 =0 ώστε 9 4 7 c x 4 για κάθε x x 0 β) είναι Ο Τότε, εξ ορισμού, πρέπει να υπάρχουν σταθερές c και x 0 τέτοιες ώστε c x για κάθε x x 0 1 2 για κάθε x 1 Συνεπώς ισχύει αφού υπάρχουν σταθερές, δηλ. c=2, x 0 =1 ώστε c x για κάθε x x 0

Η απόδειξη πρέπει να είναι βάση του ορισμού Ασυμπτωματική ανάλυση δεν επιτρέπεται Η παραγοντοποίηση γ) 4x 17 είναι Ο, αλλά επίσης, ότι το δεν είναι Ο 4x 17 i) Είναι προφανές ότι 4x 17 είναι Ο. είναι λάθος. ii) Ας υποθέσουμε ότι ισχύει είναι Ο 4x 17. Τότε, εξ ορισμού, πρέπει να υπάρχουν σταθερές c και x 0 τέτοιες ώστε x 3 c. 4x 17 για κάθε x x 0. c. 4x 17 c. 4 17 c. 21 Συνεπώς θέλουμε να αποδείξουμε ότι x 3 c. 21 Το οποίο είναι ισοδύναμο με το να αποδείξουμε x 21c το οποίο προφανώς δεν ισχύει για κάθε x 21c. Η απόδειξη πρέπει να είναι βάση του ορισμού Ασυμπτωματική ανάλυση δεν επιτρέπεται Άσκηση 2 (15 μονάδες) Χρησιμοποιείστε την μαθηματική επαγωγή για να αποδείξετε ότι το άθροισμα των πρώτων n θετικών περιττών αριθμών είναι ίσο με n 2. Προσπαθήστε να γράφετε τι θέλετε να αποδείξετε (π.χ., Έστω ότι ισχύει για n=k, να αποδείξω ότι ισχύει για n=k+1 Βασικό βήμα: Π(1) ισχύει αφού 1 = 1 2. Επαγωγική Υπόθεση: Έστω ότι ισχύει η Π(k), δηλ. 1+3+ +(2k 1) = k 2. Επαγωγικό Βήμα: Να αποδείξουμε ότι ισχύει για k+1 1+3+ +(2k 1)+(2(k+1) 1) = (k+1) 2 1+3+ +(2k 1)+(2(k+1) 1) = k 2 + (2(k+1) 1) (επαγωγική υπόθεση) = k 2 + 2k+1 (πράξεις) = (k+1) 2 (παραγοντοποίηση),που είναι του ζητούμενο Άσκηση 3 (15 μονάδες) Υποθέστε ότι κάποιος έχει αναλύσει τον χρόνο εκτέλεσης μίας σειράς αλγορίθμων και δημιούργησε μία λίστα με τις πολυπλοκότητες των

συναρτήσεων τους. Καλείστε να κατατάξατε τις συναρτήσεις αυτές σε κατηγορίες έτσι ώστε δύο συναρτήσεις f(n) και g(n) να ανήκουν στην ίδια κατηγορία αν και μόνο αν ανήκουν στην ίδια τάξη (δηλαδή αν f(n) Θ(g(n)) ή g(n) Θ(f(n)) ). Στην συνέχεια καλείστε να ταξινομήσετε τις κατηγορίες σε αύξουσα σειρά ως προς την τάξη τους. 3 6 7! 5 Κάποιοι, δεν βρήκατε σε ποιες κατηγορίες (τάξεις) ανήκουν οι συναρτήσεις Πρέπει να αποδείξετε ότι μία συνάρτηση Θ(f(n)) είναι πιο μικρή από μία άλλη Θ(g(n)) Πιο κάτω παρουσιάζεται η σωστή σειρά των συναρτήσεων ξεκινώντας από τη μικρότερη τάξη προς τη μεγαλύτερη. Συναρτήσεις που ανήκουν στην ίδια τάξη βρίσκονται γραμμένες στην ίδια γραμμή. 6 lg n n n lg n n 2, n 2 + log n n 3, n 2 + 5n 3 n n 3 + 7n 5 3 n n! Ακολουθεί αιτιολόγηση κάποιων σχέσεων: (i) Σύγκριση 3 n και n! Αποδείχθηκε στις διαλέξεις ότι 3n O(n!) Επιπλέον, μπορούμε να δείξουμε ότι οι δύο συναρτήσεις δεν ανήκουν στην ίδια τάξη, δηλαδή, 3n Ω(n!). Ας υποθέσουμε, για να φτάσουμε σε αντίφαση, ότι 3n Ω(n!). Τότε, εξ ορισμού, πρέπει να υπάρχουν σταθερές c και n 0 τέτοιες ώστε 3n c n! για κάθε n n 0 Τότε έχουμε 3n c n! για κάθε n n 0 = c n (n 1)! για κάθε n n0 > (Αποδείχθηκε στις διαλέξεις ότι 3n O(n!)) c n 3n 1 για κάθε n max(n0,7) Επομένως

3n Ω(n!) αν και μόνο αν c τέτοιο ώστε 3n > c n 3n 1 για κάθε n max(n 0,7), 3n Ω(n!) αν και μόνο αν c τέτοιο ώστε 3 > c n για κάθε n max(n0,7), 3n Ω(n!) αν και μόνο αν c τέτοιο ώστε c < 3/n για κάθε n max(n0,7), Προφανώς όμως δεν υπάρχει θετική σταθερά c τέτοια ώστε c < 3/n καθώς το n μεγαλώνει απεριόριστα. (Ο λόγος 3/n τείνει στο 0 καθώς το n τείνει στο άπειρο.) Συμπέρασμα: Δεν υπάρχουν ζεύγος σταθερών c και n0 τέτοιες ώστε 3n c n! Για κάθε n n 0, και 3n Ω(n!). (ii) Σύγκριση n² + 5n³ και n³ Είναι προφανές ότι n³ O(n² + 5n³). Επίσης ισχύει n³ Ω(n² + 5n³) αφού για c=1 και k=1, n² + 5n³ c n³, για κάθε n k. (iii) Σύγκριση lg n και n lg n. Είναι προφανές ότι n O(n lg n), αφού για c = 1, και k = 1 lg n n lg n, για κάθε n k ( 1 n, για κάθε n 1) Από την άλλη δεν ισχύει ότι n Ω(n lg n). Ας υποθέσουμε ότι ότι n Ω(n lg n). Τότε υπάρχουν c και κάθε n0 τέτοια ώστε lg n c n lg n για κάθε n n0. Αυτό συνεπάγεται ότι υπάρχουν c και κάθε n0 τέτοια ώστε 1 c n για κάθε n n0 c 1/n για κάθε n n0 Καθώς το n τείνει στο άπειρο ο λόγος 1/n τείνει στο 0. Επομένως δεν είναι δυνατόν να υπάρχει θετική σταθερά c που να ικανοποιεί την πιο πάνω σχέση. Συμπέρασμα: n Ω(n lg n). (iv) Σύγκριση lg n και Ας υποθέσουμε ότι lg n O( ). Τότε για κάθε c και κάθε n0 υπάρχει k > n0 τέτοιο ώστε lg k > c k και κατά συνέπεια lg 2 k > (c ) 2 = c 2. Αυτό συνεπάγεται ότι lg2 n O(n) που γνωρίζουμε από τις διαλέξεις ότι δεν ισχύει. Επομένως lg n O( n) και το ζητούμενο έπεται. Μπορεί επίσης να δειχθεί ότι lg n Ω( ).

Άσκηση 4 (40 μονάδες) Να αναλύσετε τον χρόνο εκτέλεσης χείριστης περίπτωσης των πιο κάτω σαν συνάρτηση του n. Υποθέστε, χωρίς βλάβη της γενικότητας, ότι το n είναι δύναμη του 2. Α) sum=0; for ( i=1; i<=n; i*=2 ) for ( j=1; j<=i; j++ ) sum++; Έστω ότι i=2 k Συνεπώς μπορούμε να μετασχηματίσουμε το Α ως εξής: sum=0; for ( k=0; k<=lg 2 n; k++ ) for ( j=1; j<=2 k ; j++ ) sum++; Α=Εσωτερικός Βρόγχος (for ( j=1; j<=2k; j++ )) = 2 k Εξωτερικός Βρόγχος (for ( k=0; k<=lg2n; k++ )) = 2.2 1 2 1 2 2 1 B) r=0; for ( i=1; i<= ; i++ ) for ( j=1; j<=n; j*=2 ) if ( n % 2 == 0 ) //το n είναι άρτιος for ( k=1; k<=n; k++ ) r++; else //το n είναι περιττός r ; Επειδή είναι όλοι ανεξάρτητοι, η ανάλυση γίνεται πιο έυκολα Α=Εσωτερικός Βρόγχος (for ( k=1; k<=n; k++ ) r++;) = n Β=Εσωτερικός Βρόγχος (for ( j=1; j<=n; j*=2 )) = lgn * A(=n) = nlgn Εξωτερικός Βρόγχος (for ( i=1; i<= ; i++ )) = * Β= n lgn O n lgn)

Άσκηση 5 (15 μονάδες) Να υπολογίσετε το χρόνο εκτέλεσης του παρακάτω αναδρομικού προγράμματος λύνοντας οποιεσδήποτε αναδρομικές εξισώσεις συναντήσετε με την μέθοδο της αντικατάστασης. Υποθέστε χωρίς βλάβη της γενικότητας ότι το n είναι δύναμη του 2. SplitSum( int n ) { int sum = 0; for ( j=1; j<=n; j++ ) sum++; if ( n > 1 ) return SplitSum( n/2 ); else return 1; } Μία αναδρομική εξίσωση αποτελείται από δύο μέρη, το Βήμα Τερματισμού και το Αναδρομικό Βήμα. Μην ξεχνάτε να αναφέρετε την γενική μορφή. Από την γενική μορφή, σκοπός μας είναι να φθάσουμε στο Βήμα Τερματισμού και να απαλείψουμε τους όρους που έχουν σχέση με την συνάρτηση T. Επιβεβαιώνετε με το master theorem για να είστε πιο σίγουροι για τις απαντήσεις σας. Τ(1) = 1 Τ(n) = T(n/2) + n // Εκτέλεση 1 = T(n/4) + n/2 + n // Εκτέλεση 2 = Τ(n/8) + n/4 + n/2 + n // Εκτέλεση 3 = T(n/2 k ) + n/2 (k 1) +... n/2 1 +n/2 0 //Γενίκευση = Τ(1) + (n/2 (k 1) + + n/2 + n) //Έστω ότι 2 k =n k=log 2 n = 1 + (2n 1) //Γεωμετρική πρόοδος O(n) Επιβεβαίωση με Master Theorem a=1, b=2, c=1, d=1 a=1<b d =2 1 =2 Συνεπώς Τ(n) is O(n d )=O(n)

ΟΔΗΓΙΕΣ Οι άσκηση σας θα πρέπει να παραδοθεί σε έντυπη και ηλεκτρονική μορφή μέσο email στον υπεύθυνο βοηθό. Το όνομα του αρχείου θα ονομάζεται με τον εξής τρόπο: Epl231.ex<αρ. άσκησης>.<ταυτότητα>.<ext> (π.χ., epl231.ex3.123456.doc) Στην πρώτη σελίδα του αρχείου θα πρέπει να αναγράφεται το όνομα και η ταυτότητά σας. Μη τήρηση των ημερομηνιών παράδοσης των εργασιών συνεπάγεται τις ανάλογες βαθμολογικές επιπτώσεις (μέχρι τον μηδενισμό της εργασίας). Οι προγραμματιστικές ασκήσεις θα ελέγχονται από ειδικό πρόγραμμα για την ανίχνευση των αντιγραφών. Οι αντιγραμμένες εργασίες θα μηδενίζονται και για τους αντιγραφείς θα εφαρμόζονται οι κανόνες τού Πανεπιστημίου. Αποφύγετε λοιπόν την αντιγραφή προγραμμάτων από άλλους συναδέλφους σας, διότι έτσι εκτίθετε και αυτούς και τον εαυτό σας στον κίνδυνο μηδενισμού και πειθαρχικής δίωξης. ΚΑΛΗ ΕΠΙΤΥΧΙΑ!!!