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

Σχετικά έγγραφα
Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

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

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

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

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση

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

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

Ψευδοκώδικας. November 7, 2011

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

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

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

Ταξινόμηση. 1. Ταξινόμηση του Shell. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

Ανάλυση Αλγορίθµων 4. Πειραµατικές Μελέτες. Χρόνος Εκτέλεσης. Περιγραφή και Υλικό Ανάγνωσης

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

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

Εισαγωγή στην πληροφορική

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

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

1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0.

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

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

Θέματα Προγραμματισμού Η/Υ

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

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

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

Παρατηρήσεις για την δομή Όσο..επανάλαβε( ΣΟΣ)

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

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

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

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

Ταξινόμηση. 1. Ταξινόμηση με Μέτρημα 2. Ταξινόμηση με βάση τη Ρίζα. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

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

Εργαστηριακή Άσκηση 1

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Πληροφορική ΙΙ Θεματική Ενότητα 7

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Διδακτικά προβλήματα σχετικά με την έννοια της επανάληψης

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

Προγραµµατιστικές Τεχνικές

Στοίβες. ΟΑΤ της Στοίβας. Περιγραφή και Υλικό Ανάγνωσης. Αφηρηµένοι Τύποι εδοµένων (AΤ )

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

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

Ταξινόμηση. 1. Γρήγορη ταξινόμηση 2. Ταξινόμηση με Συγχώνευση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Επαναληπτικές Διαδικασίες

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

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

Κεφάλαιο 2.2 Δραστηριότητες

Προγραμματιστικές Τεχνικές

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Να περιγραφεί η δομή επανάληψης Αρχή_επανάληψης Μέχρις_ότου

Ηλεκτρονικοί Υπολογιστές

Εισαγωγή στην πληροφορική

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

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

Αλγόριθμοι ταξινόμησης

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

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

Διαδικαστικός Προγραμματισμός

Προγραμματιστικές Τεχνικές

Θέματα Προγραμματισμού Η/Υ

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

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

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

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

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

Πρόβλημα 37 / σελίδα 207

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Ενδεικτικές απαντήσεις των Ερωτήσεων - Θεµάτων προς συζήτηση - ραστηριοτήτων. Κεφάλαιο 2.2. Έκδοση 3.0

Transcript:

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

Συγκρίνουμε το τρέχον στοιχείο a[i] με τα προηγούμενα στοιχεία a[i-], a[i-], Μόλις βρεθεί κάποιο στοιχείο a[k] μικρότερο του, a[i], μετακινούμε τα στοιχεία από a[k+] μέχρι a[i-] προς την επόμενη θέση (δηλαδή την κατεύθυνση στην οποία το i αυξάνει) και τοποθετούμε το τρέχον στοιχείο στη θέση k+. Ο αλγόριθμος τερματίζει όταν σαρώσουμε όλα τα στοιχεία του πίνακα. Ο ψευδοκώδικας της Ταξινόμησης Εισαγωγής παρουσιάζεται στο Πλαίσιο. Algorithm: IertioSort Iput : Array A Output : Sorted Array A (acedig) begi for j := to legth of A do { key := A[j]; /* put A[j] ito A[ j-] */ i := j ; while (i > 0 AND A[i] > key) do { A[i+] := A[i]; i := i + ; A[i+] := key ed Πλαίσιο : Ψευδοκώδικας αλγορίθμου IertioSort Στον Πίνακα βρίσκονται οι εντολές που απαρτίζουν τον αλγόριθμο, μαζί με το χρόνο εκτέλεσης (c i ) της κάθε μίας, εάν αυτή εκτελούνταν μόνο μία φορά. Lie IertioSort(A) #Exec. # It. for j:= to legth of A do c key := A[j] c - 3 /* put A[j] ito A[ j-] */ c3 = 0 / 4 i := j - c4-5 while (i > 0 AND A[i] > key) do c5 t j 6 A[i+] := A[i] c6 7 i := i + c7 8 A[i+] := key c8 - Πίνακας : Μελέτη του αλγορίθμου Iertio Sort. Για να μελετήσουμε την πολυπλοκότητα του παραπάνω αλγορίθμου, θα θεωρήσουμε ότι το πλήθος των στοιχείων του πίνακα Α είναι. Επομένως, η εντολή for εκτελείται συνολικά (-) + = φορές: (-) φορές καθώς το for ξεκινά από τη δεύτερη θέση του πίνακα Α, και μια επιπλέον όταν το j πάρει την τιμή legth +, οπότε και τερματίζεται ο βρόχος. Τα βήματα, 4 και 8, καθώς βρίσκονται μέσα στο βρόχο, θα εκτελεστούν - φορές (δηλαδή μία λιγότερη από τις επαναλήψεις της κεφαλίδας του βρόχου). Το πλήθος εκτελέσεων των βημάτων 5, 6 και 7 είναι λίγο πιο δύσκολο να υπολογισθεί, καθώς

δεν είναι πάντα σταθερό το πλήθος των στοιχείων A[j] τα οποία πρέπει να μετατοπισθούν προς τα δεξιά. Έστω t j το πλήθος των στοιχείων που πρέπει να μετατοπισθούν δεξιά για να εισαχθεί το στοιχείο A[j], αυξημένο κατά.τότε, το πλήθος επαναλήψεων του while (εντολή 5) θα είναι t + t 3 + + t. Με όμοιο τρόπο, οι εντολές 6 και 7 που ανήκουν στο βρόχο του while θα εκτελεσθούν η κάθε μία (t -) + (t 3 -) + + (t -) φορές. Εάν τώρα προσθέσουμε όλους τους χρόνους μαζί, ο συνολικός χρόνος εκτέλεσης του αλγορίθμου θα είναι: c + c ( ) + c ( ) + c t + c (t ) + c (t ) + c ( ) 4 5 j 6 j 7 j 8 j= j= j= Ο ακριβής προσδιορισμός του t j εξαρτάται από την εκάστοτε είσοδο, δηλαδή τον πίνακα Α. Bet Cae: Στην καλύτερη περίπτωση ο πίνακας είναι ήδη ταξινομημένος, οπότε ισχύει t j =, και η πολυπλοκότητα είναι η ακόλουθη: όπου C και D σταθερές. Wort Cae: c + (c + c4 + c5 + c 8) ( ) = C + D Η χειρότερη περίπτωση είναι όταν ο πίνακας Α είναι ταξινομημένος κατά φθίνουσα σειρά. Σε αυτή την περίπτωση ισχύει t j = j, και επομένως η εντολή 5 (κεφαλίδα του while) θα εκτελεσθεί: j= ( + ) j= ενώ οι εντολές 6 και 7 θα εκτελεσθούν συνολικά: j= (j ) = ( ) Οπότε η πολυπλοκότητα του αλγορίθμου στη χειρότερη περίπτωση είναι: + ( ) ( ) c + (c + c4 + c 8) ( ) + c5 + (c6 + c 7) = A + C + D όπου A, C και D σταθερές. 3

Άρα τελικά, εάν θεωρήσουμε ότι ο χρόνοι εκτέλεσης της κάθε εντολής είναι, μπορούμε να κάνουμε την γραφική παράσταση της πολυπλοκότητας του αλγορίθμου IertioSort, όπως φαίνεται στο Διάγραμμα. 700 600 Complexity of IertioSort Bet Cae Wort Cae Average 500 Number of tep 400 300 00 00 0 0 4 6 8 0 4 6 8 0 (umber of elemet i A) Διάγραμμα : Πολυπλοκότητα του Αλγορίθμου IertioSort. 3. Δεύτερο παράδειγμα υπολογισμού πολυπλοκότητας Έστω ο παρακάτω αλγόριθμος: Begi S := 0 for i := to do { for j := to i do { for k := to j*j do { S++ ed Πλαίσιο : Ψευδοκώδικας αλγορίθμου τριπλού loop 4

Εάν θεωρήσουμε ότι η εκτέλεση της εντολής S++ απαιτεί α χρόνο, τότε η συνάρτηση αναλυτικής πολυπλοκότητας f() του αλγορίθμου ορίζεται από το εξής άθροισμα: i j f() = α j= k= [ ] Στη συνέχεια η συνάρτηση αυτή αναλύεται σε απλούστερους όρους (ξεκινώντας πάντα από το εσωτερικό άθροισμα) ως εξής: i j i f() = [ α] f() = ( α j ) j= k= j= 3 i i i f() = α + + 3 6 α 3 α α f() = i + i + i 3 6 4 3 3 α α α f() = 3 + + 4 4 + + + + + 3 6 6 α 4 α 3 5 α α f() = + + + 3 6 Επομένως η τάξη πολυπλοκότητας του αλγορίθμου είναι O( 4 ). 5

4. Ταυτότητες Αθροισμάτων Ακολουθεί μια λίστα με χρήσιμες ταυτότητες αθροισμάτων: t ( ) Cf() = C f() = = C = ( + ) C t t t f() ± g() = [ f() ± g() ] = = = t t+ p f() = f( p) = = + p j t t f() + f() = f() = = j+ = x = ( m+ ) x m x = x t = H, όπου H ο αρμονικός αριθμός τάξης. i ( m + ) ( + m) i = m (+ ) 0 3 (+ ) ( + ) i = = + + 6 3 6 4 3 3 (+ ) i = = i = + + 4 4 5 4 3 4 (+ ) ( + ) (3 + 3 ) i = = + + 30 5 3 30 p+ p p ( + ) Bk p p k+ i = + (+ ), όπου Bk ο k αριθμός Beroulli 0 p+ k= p k+ k + m i x x x = m x + i x x = 0 x i x i x = ( x ( (x ) ) + ) ( x) 0 6

c c+ i =Θ( ) =Θ(log ) i i c =Θ(c ) c c log(i) =Θ( log() ) c d d c log(i) i =Θ( + log() ) 5. Ρυθμοί Αθροισμάτων c d i d c log(i) i b =Θ( log() b ) Γενικά ισχύει ότι: f () O( g() ) f () g() k f() Ω( g() ) f() g() k f() Θ( g() ) g() k f() g() k 7