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

Σχετικά έγγραφα
Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

> ln 1 + ln ln n = ln(1 2 3 n) = ln(n!).

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΑΛΓΕΒΡΑΣ B ΛΥΚΕΙΟΥ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ &ΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

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

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

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

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

ΑΣΚΗΣΕΙΣ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ. Να εξετάσετε αν είναι ίσες οι συναρτήσεις f, g όταν: x x 2 x x. x x g x. ln x ln x 1 και

Παραδείγµατα. Τάξη των Συναρτήσεων (1) Παράδειγµα (2) Να δειχθεί ότι 7n 2 = O(n 3 ). Ορέστης Τελέλης

1η Σειρά Γραπτών Ασκήσεων

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

ΑΡΙΘΜΗΤΙΚΗ ΠΡΟΟΔΟΣ. Σύμφωνα με τα παραπάνω, για μια αριθμητική πρόοδο που έχει πρώτο όρο τον ...

Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Παράδειγµα (1/2) O( g(n) ) είναι σύνολο συναρτήσεων:

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

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

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθμων. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

2018 Φάση 2 ιαγωνίσµατα Επανάληψης ΑΛΓΕΒΡΑ. Β' Γενικού Λυκείου. Γενικής Παιδείας. Σάββατο 21 Απριλίου 2018 ιάρκεια Εξέτασης:3 ώρες ΘΕΜΑΤΑ

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

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

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

ΑΠΟΤΕΛΕΣΜΑΤΑ ΕΠΠΑΙΚ ΑΝΑ ΠΟΛΗ ΣΕΙΡΑ ΚΑΤΑΤΑΞΗΣ ΕΙΣΑΓΩΓΗ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΠΑΤΡΩΝΥΜΟ ΠΟΛΗ ΕΠΙΛΟΓΗΣ 1 NAI ΔΗΜΗΤΡΙΟΣ ΚΑΡΒΟΥΝΗΣ ΝΙΚΟΛΑΟΣ ΑΘΗΝΑ 2 NAI ΒΑΣΙΛΕΙΟΣ

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

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

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

ΑΣΚΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΗΝ ΑΛΓΕΒΡΑ ΤΗΣ Β ΛΥΚΕΙΟΥ. , ισχύει ότι:. α. Να υπολογίσετε όλους τους τριγωνομετρικούς αριθμούς της γωνίας ω.

Τηλ , Fax: , URL:

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Aριθμητική Ανάλυση, 4 ο Εξάμηνο Θ. Σ. Παπαθεοδώρου

7. Αν υψώσουμε και τα δύο μέλη μιας εξίσωσης στον κύβο (και γενικά σε οποιαδήποτε περιττή δύναμη), τότε προκύπτει

Μέϑοδοι Εφαρμοσμένων Μαϑηματιϰών (ΜΕΜ 274) Λύσεις Θεμάτων Εξέτασης Ιούνη 2019

Αλγόριθμοι. Μάρθα Σιδέρη. ιαδικαστικά: ύο πρόοδοι 31 Μαρτίου, 18 Μαΐου 7-9μμ 20% η μία, ύο Προγραμματιστικές 1 προσθετικό βαθμό η μία.

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

1.1 ΒΑΣΙΚΕΣ ΤΡΙΓΩΝΟΜΕΤΡΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ 1.2 ΒΑΣΙΚΕΣ ΤΡΙΓΩΝΟΜΕΤΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

Θεώρημα Βolzano. Κατηγορία 1 η Δίνεται η συνάρτηση:

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

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας

40 Ασκήσεις στον ΟΛΟΚΛΗΡΩΤΙΚΟ ΛΟΓΙΣΜΟ ( Επεξεργασία του ΜΑΝΩΛΗ ΨΑΡΡΑ)

h ln 1 γ) Αν η συνάρτηση f είναι συνεχής στο Δ, τότε είναι και παραγωγίσιμη στο Δ.

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

Επαναληπτικές Ασκήσεις Φάκελος : Άλγεβρα Β-Λυκείου Επιµέλεια : Φωτεινή Καλδή

ρ= ρ= ρ= P x με παραγοντοποίηση κατά ομάδες οπότε θα προσπαθήσουμε να το

ΕΙΣΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΤΕΚΝΩΝ ΕΛΛΗΝΩΝ ΤΟΥ ΕΞΩΤΕΡΙΚΟΥ ΚΑΙ ΤΕΚΝΩΝ ΕΛΛΗΝΩΝ ΥΠΑΛΛΗΛΩΝ ΠΟΥ ΥΠΗΡΕΤΟΥΝ ΣΤΟ ΕΞΩΤΕΡΙΚΟ ΠΕΜΠΤΗ 6 ΣΕΠΤΕΜΒΡΙΟΥ 2018

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

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2018 Β ΦΑΣΗ

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

Κεφάλαιο 13 Αντισταθμιστική Ανάλυση

Αν α θετικός πραγματικός αριθμός, σε κάθε x αντιστοιχεί η

16 Ασύμπτωτες. όπως φαίνεται στα παρακάτω σχήματα. 1. Κατακόρυφη ασύμπτωτη. Η ευθεία x = x0

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

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

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

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

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

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

(a 1)!b! (a + b 1)! και a!(b 1)! (a + b 1)!, (a + b)! = (a + b 1)!(a + b) = (a + b 1)!a + (a + b 1)!b,

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

********* Β ομάδα Κυρτότητα Σημεία καμπής*********

ΚΕΦΑΛΑΙΟ 2 Ο ΠΟΛΥΩΝΥΜΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ - ΑΣΚΗΣΕΙΣ

f f x f x = x x x f x f x0 x

sup(a + B) = sup A + sup B inf(a + B) = inf A + inf B.

2.3 Πολυωνυμικές Εξισώσεις

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Ο μαθητής που έχει μελετήσει το κεφάλαιο αυτό θα πρέπει:

Για να εκφράσουμε τη διαδικασία αυτή, γράφουμε: :

Transcript:

Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n, η ταξινόμηση με εισαγωγή απαιτεί 8n βήματα ενώ η ταξινόμηση με συγχώνευση 64n lg n. Για ποιες τιμές του n ταξινόμηση με εισαγωγή υπερτερεί της ταξινόμησης με συγχώνευση; Η ταξινόμηση με εισαγωγή υπερτερεί της ταξινόμησης με συγχώνευση όταν: 8n < 64n lg n n < 8lg n. Έπειτα από υπολογισμούς που έγιναν με τη χρήση του MATLAB προκύπτει ότι η ανισότητα αυτή ισχύει για n 43. Αναλυτικότερα: Αναζητούμε τις τιμές του φυσικού αριθμού n για τις οποίες ισχύει η ανίσωση n < 8lg n Αρχικά κάνουμε τη γραφική παράσταση των συναρτήσεων f(n) = n και g(n) = 8lg n: >> n=:1:100; >> plot(n); >> plot(8*log(n)); >> n=:1:100; >> plot(n); >> hold all >> plot(8*log(n)); Από τη γραφική παράσταση βλέπουμε ότι το διάστημα για το οποίο πρέπει να ισχύει η ανίσωση είναι το [ x], όπου x είναι μεταξύ του 4 και 44. Μπορούμε να βρούμε με καλύτερη ακρίβεια τον αριθμό x στο MATLAB, ως εξής: >> n=100; >> A=zeros(1,n); >> for i=1:n k=i-8*log(i); A(1,i)=k; end >> find(a<0) ans = Columns 1 through 6 3 4 5 6 7

Columns 7 through 1 8 9 10 11 1 13 Columns 13 through 18 14 15 16 17 18 19 Columns 19 through 4 0 1 3 4 5 Columns 5 through 30 6 7 8 9 30 31 Columns 31 through 36 3 33 34 35 36 37 Columns 37 through 4 38 39 40 41 4 43 Η απάντηση λοιπόν με τη βοήθεια του MATLAB είναι: από έως 43. Άσκηση i) Αν f n 3n n 4και g n nlog n 5, = + = + δείξτε ότι f ( n) + g( n) O( n ) 1 ος τρόπος: (με χρήση του κανόνα του αθροίσματος) Είναι f(n) = O(n ) g(n) = O(n log n), f(n) + g(n) = O(max{n, n log n}) = O(n ). αφού n, log n n n log n n. ος τρόπος: (με όρια) Είναι lim n + + f n g n f x g x = lim n x + x 3x x+ 4 + xlog x+ 5 = lim x + x 6x 1+ log x+ 1 ln = lim (L'Hôpital) x + x 6 + 1 ( xln ) = lim (L'Hôpital) x + = 0. Άρα, f ( n) + g( n) O( n ) =. ii) Αν = = δείξτε ότι f ( n) + g( n) O( n) f n n και g n log n, =. =. Είναι f n + g n x + log x lim = lim n n x + x log x = lim 1+ x + x 1 ( xln ) = lim x + 1 ( x ) 1 = lim ln n x = 0 (L'Hopital)

iii) Δείξτε ότι (n + a) k = Θ(n k ), όπου a και k είναι πραγματικές σταθερές με k > 0. Είναι k k k k j j k k k k 1... k k k k 1 k k n + a = n a n n a a n kan... a O j = 0 + 1 + + k = + + + = ( n ) j= 0 όπου χρησιμοποιήσαμε το ανάπτυγμα του Newton και το γεγονός ότι, αν έχουμε το πολυώνυμο P( n) = 0 k i k = an i i με a k > 0, τότε P( n) = O( n ). iv) Εξηγήστε αν είναι σωστοί οι εξής ισχυρισμοί: α) n+1 = O( n ) β) n = O( n ) α) Είναι n+1 = O( n ). Πράγματι με c = και n 0 = 0, έχουμε n n 0, f (n) = n+1 = n c n = cg(n) β) Είναι n O( n ). Πράγματι, έστω ότι n = O( n ). Τότε θα υπάρχουν c > 0 και n 0 τέτοιοι, ώστε n n 0, n c n n c n lg c άτοπο, αφού n (δεν υπάρχει πραγματικός αριθμός που να είναι μεγαλύτερος από κάθε φυσικό αριθμό). Άσκηση 3 Για κάθε ζεύγος συναρτήσεων f ( n) και f(n) 10n n 3 n log n log n g(n) n 10n n log n n + log n k n ln n log n log (n + 1) log n log log n log n n 10 n n m m n g n πίνακα εξηγήστε αν f ( n) = O( g( n) ), και αν g( n) O( f ( n) ) =. Υπενθυμίζουμε την Παρατήρηση από τις Σημειώσεις (Ασυμπτωτική Συμπεριφορά και Συμβολισμοί) Παρατήρηση : Ένα ισχυρό και χρήσιμο εργαλείο για να αποδείξει κανείς ότι κάποιες συναρτήσεις είναι της τάξης κάποιων άλλων, όπως επίσης και για να αποδείξει το αντίθετο, είναι ο κανόνας του ορίου, ο οποίος μας λέει ότι δοθέντων δύο συναρτήσεων f και g: R +, έχουμε

1. αν. αν 3. αν lim n f n g n +, τότε f(n) = O(g(n)) και g(n) = O(f(n)), f n lim = 0, τότε f(n) = O(g(n)) αλλά g(n) O(f(n)) και n g n lim n f n g n = +, τότε f(n) O(g(n)) αλλά g(n) = O(f(n)). Με βάση λοιπόν αυτή την Παρατήρηση εύκολα καταλήγουμε στον ακόλουθο πίνακα Άσκηση 4 f(n) g(n) f(n) = Ο(g(n)) g(n) = Ο(f(n)) 10n n 10n NAI OXI n 3 n log n OXI NAI n log n n + log n OXI NAI log n k n NAI OXI ln n log n NAI NAI log (n + 1) log n NAI NAI log log n log n NAI OXI n 10 n NAI OXI n m m n NAI OXI Λύστε κάθε μία από τις ακόλουθες αναδρομικές σχέσεις 1. Για να λύσουμε την θεωρούμε Ο(1) = 1 και έχουμε

Άρα, T(n) = O(a n ).. Για να λύσουμε την θεωρούμε Ο(1) = 1 και Ο(n) = n, οπότε έχουμε Άρα, T(n) = O(a n ). 3. Για να λύσουμε την θεωρούμε ότι Ο(1) = 1 και υποθέτουμε ότι n = a m, οπότε έχουμε

Άρα, T(n) = O(a m ). 4. Για να λύσουμε την θεωρούμε ότι Ο(1) = 1, Ο(n) = n και υποθέτουμε ότι n = a m, οπότε έχουμε Άρα, T(n) = O(n lg n). Άσκηση 5 Υπολογίστε αυστηρά ασυμπτωτικά Ο φράγματα για τους χρόνους εκτέλεσης των Προγραμμάτων 1.1, 1., 1.3,.5, και.6 (διαφάνειες (1) των παραδόσεων του μαθήματος). 1. Ο χρόνος εκτέλεσης δίνεται στον επόμενο πίνακα:.

Ο χρόνος εκτέλεσης δίνεται στον επόμενο πίνακα: 3. Ο χρόνος εκτέλεσης δίνεται στον επόμενο πίνακα: 4. Ο χρόνος εκτέλεσης δίνεται στον επόμενο πίνακα:

5. Ο χρόνος εκτέλεσης δίνεται στον επόμενο πίνακα: Άσκηση 6 Αλγόριθμος: Υπολογισμός κατά όρους της τιμής ενός πολυωνύμου // Ο αλγόριθμος αυτός υπολογίζει την τιμή ενός πολυωνύμου a[n]x n + a[n 1]x n 1 //+ + a[]x + a[1]x + a[0] με υπολογισμό κάθε όρου του πολυωνύμου ξεχωριστά, //αρχίζοντας από τον a[0], και προσθέτοντάς τον σε ένα συνολικό άθροισμα.] //Είσοδος: n [ένας μη αρνητικός ακέραιος], // a[0], a[1], a[],..., a[n] [μια συστοιχία πραγματικών αριθμών], // x [ένας πραγματικός αριθμός] //Έξοδος: η τιμή polyval του πολυωνύμου.

i) Έστω S(n) το πλήθος των προσθέσεων και πολλαπλασιασμών που πρέπει να πραγματοποιηθούν κατά την εκτέλεση του Αλγορίθμου για ένα πολυώνυμο βαθμού n. Εκφράστε το S(n) συναρτήσει του n. ii) Εκφράστε την πολυπλοκότητα S(n) του Αλγορίθμου στον συμβολισμό Ο. i) Πλήθος πολλαπλασιασμών = πλήθος επαναλήψεων του εσωτερικού βρόχου = 1 + + 3 + + n ( 1) n n+ = Πλήθος προσθέσεων = πλήθος επαναλήψεων εξωτερικού βρόχου = n Άρα, το συνολικό πλήθος των πολλαπλασιασμών και προσθέσεων είναι ii) Άσκηση 7 n n+ 1 1 3 + n= n + n. S(n) = Είναι, S(n) = O(n ). Αλγόριθμος Horner // Ο αλγόριθμος αυτός υπολογίζει την τιμή ενός πολυωνύμου a[n]x n + a[n 1]x n 1 + + a[]x //+ a[1]x + a[0] με διαδοχικές προσθέσεις και πολλαπλασιασμούς, όπως φαίνεται στην παρά- //σταση (( ((a[n]x + a[n 1])x + a[n ])x + + a[])x + a[1])x + a[0]. //Σε κάθε βήμα, με αρχή το a[n], η τρέχουσα τιμή της μεταβλητής polyval πολλαπλασιάζεται //με x και ο επόμενος μικρότερος συντελεστής προστίθεται στη μεταβλητή.] //Είσοδος: n [ένας μη αρνητικός ακέραιος] //a[0], a[1], a[],., a[n] [μια συστοιχία πραγματικών αριθμών], //x [ένας πραγματικός αριθμός] //Έξοδος: η τιμή polyval του πολυωνύμου. i) Έστω M(n) το πλήθος των προσθέσεων και πολλαπλασιασμών που πρέπει να γίνουν κατά την εκτέλεση του Αλγορίθμου για ένα πολυώνυμο βαθμού n. Εκφράστε το M(n) συναρτήσει του n. ii) Εκφράστε την πολυπλοκότητα M(n) του Αλγορίθμου στον συμβολισμό Ο. iii) Πώς συγκρίνεται η πολυπλοκότητα αυτή με την πολυπλοκότητα του Αλγορίθμου της Άσκησης 6; i) Σε κάθε επανάληψη του βρόχου έχουμε έναν πολλαπλασιασμό και μία πρόσθεση, άρα είναι

ii) Είναι, Μ(n) = O(n). M n n = = 1= n n. i= 1 i= 1 iii) Προφανώς ο αλγόριθμος του Horner είναι αποδοτικότερος του Αλγορίθμου της Άσκησης 6