ΠΛΗ30 ΜΑΘΗΜΑ 1.4

Dimitris Psounis
Dimitris PsounisTeacher & Manager at Δημήτρης Ψούνης - Υπηρεσίες Εκπαίδευσης
ΠΛΗ30
ΕΝΟΤΗΤΑ 1: ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
Μάθηµα 1.4:
Ανάλυση Αναδροµικών Αλγορίθµων
Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
∆ηµήτρης Ψούνης
ΠΕΡΙΕΧΟΜΕΝΑ
Α. Σκοπός του Μαθήµατος
Β.Θεωρία
1. Αναδροµικοί Αλγόριθµοι
1. Ο αλγόριθµος αναζήτησης BinarySearch
2. Ο αλγόριθµος ταξινόµησης MergeSort
2. Αναδροµικές Σχέσεις
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
1. Επίλυση µε το Θεώρηµα Κυριαρχίας
2. Επίλυση µε την Μέθοδο της Επανάληψης
∆.Ασκήσεις
2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο Α
Το θεώρηµα κυριαρχίας για την επίλυση της αναδροµικής σχέσης
T(n)=aT(n/b)+f(n)
Επίπεδο Β
Η µέθοδος επανάληψης για την επίλυση της αναδροµικής σχέσης
T(n)=aT(n/b)+f(n)
Επίπεδο Γ
Ο αλγόριθµος ταξινόµησης MergeSort
Ο αλγόριθµος αναζήτησης BinarySearch
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Γενικότερα ένας αναδροµικός αλγόριθµος είναι ένας αλγόριθµος ο οποίος
υλοποιείται από µία αναδροµική διαδικασία.
Αναδροµική λέγεται µια διαδικασία που κατά την διάρκεια της εκτέλεσής
της καλεί τον εαυτό της.
Η γενική µορφή ενός αναδροµικού κώδικα φαίνεται στο σχήµα.
Παρατηρήστε ότι σε κάποιο σηµείο του σώµατος της διαδικασίας πρέπει να
γίνεται κλήση στην ίδια την συνάρτηση:
Θα µελετήσουµε δύο περίφηµους αναδροµικούς αλγόριθµους:
Τον BinarySearch για την αναζήτηση στοιχείου σε µία ακολουθία
Τον MergeSort για την ταξινόµηση ενός πίνακα αριθµών
procedure recursive(n)
...
...
ΚΛΗΣΗ recursive(n-1)
...
...
end procedure
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
1. Ο αλγόριθµος αναζήτησης BinarySearch (1.∆ιατύπωση και Λειτουργία)
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
BinarySearch ή ∆υαδική Αναζήτηση:
Είσοδος: Ταξινόµηµένος πίνακας A, στοιχείο x
Έξοδος:
Αν το στοιχείο υπάρχει στον πίνακα, επιστρέφεται η θέση του
στοιχείου x στον πίνακα Α.
Αν το στοιχείο δεν υπάρχει στον πίνακα, επιστρέφεται 0.
Λειτουργία του αλγορίθµου: Ο αλγόριθµος εξετάζει το µεσαίο στοιχείο του
πίνακα και διακρίνει περιπτώσεις:
Αν το µεσαίο στοιχείο είναι το x, επιστρέφει την θέση του.
Αν το x είναι µικρότερο από το µεσαίο στοιχείο τότε αναδροµικά ψάχνει
στο κοµµάτι του πίνακα από την αρχή µέχρι το µεσαίο στοιχείο
Αν το x είναι µεγαλύτερο από το µεσαίο στοιχείο τότε αναδροµικά ψάχνει
στο κοµµάτι του πίνακα από το µεσαίο στοιχείο µέχρι το τέλος
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
1. Ο αλγόριθµος αναζήτησης BinarySearch (2. Ψευδοκώδικας)
6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Παρακάτω φαίνεται µία υλοποίηση της BinarySearch σε ψευδογλώσσα
procedure BinarySearch(A,x,start,finish)
if start>finish then
return 0
else
middle=(start+finish) div 2
if (x==A[middle]) then
return middle
else if (x<A[middle]) then
pos=BinarySearch(A,x,start,middle-1)
return pos
else if (x>A[middle]) then
pos=BinarySearch(A,x,middle+1,finish)
return pos
end if
end if
end procedure
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
1. Ο αλγόριθµος αναζήτησης BinarySearch (3. Παράδειγµα Εκτέλεσης)
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Εκτελούµε τον αλγόριθµο ψάχνοντας το στοιχείο 11 στον πίνακα:
Κλήση: BinarySearch(A,11,1,15): middle=(1+15) div 2=8. x<A[middle]
Αναδροµική Κλήση: BinarySearch(A,11,1,7) : middle=(1+7) div 2=4 x>A[middle]
Αναδροµική Κλήση: BinarySearch(A,11,5,7) : middle=(5+7) div 2=6 x<A[middle]
Αναδροµική Κλήση: BinarySearch(A,11,5,5) : middle=(5+5) div 2=5 x=A[middle]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2 3 5 7 11 13 17 21 23 27 31 33 37 41 43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2 3 5 7 11 13 17 21 23 27 31 33 37 41 43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2 3 5 7 11 13 17 21 23 27 31 33 37 41 43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2 3 5 7 11 13 17 21 23 27 31 33 37 41 43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2 3 5 7 11 13 17 21 23 27 31 33 37 41 43
start
start
start
start=finish
finish
finish
finish
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
1. Ο αλγόριθµος αναζήτησης BinarySearch (4. Ανάλυση)
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Καλύτερη περίπτωση: είναι όταν το στοιχείο x βρίσκεται ακριβώς στην
µεσαία θέση του πίνακα.
Η πολυπλοκότητα είναι T(n)=5 άρα ασυµπτωτικά T(n)=Θ(1).
Χειρότερη περίπτωση: είναι όταν το στοιχείο x δεν υπάρχει στον πίνακα:
Έστω T(n) η πολυπλοκότητα όταν ο πίνακας έχει διάσταση n.
Αρχικά θα γίνουν 8 πράξεις µέχρι να γίνει η αναδροµική κλήση
(έστω ότι πάντα γίνεται και η 2η αναδροµική κλήση για να έχουµε µία
παραπάνω σύγκριση)
Έπειτα γίνεται αναδροµική κλήση για πίνακα διάστασης
Άρα αφού για διάσταση n, έχουµε χρόνο T(n), για διάσταση
θέλουµε χρόνο
Έπειτα γίνεται ακόµη 1 πράξη.
Άρα η πολυπλοκότητα δίνεται από την αναδροµική σχέση:
Ειδικά όταν n=0 τότε γίνεται 1 πράξη (κριτήριο τερµατισµού)
1
2
−


n
1
2
−


n






−




1
2
n
T
91
2
)( +





−



=
n
TnT
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
1. Ο αλγόριθµος αναζήτησης BinarySearch (4. Ανάλυση)
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Τελικά η χειρότερη περίπτωση λύνεται από την αναδροµική σχέση:
Επειδή ωστόσο αυτή η σχέση είναι ιδιαίτερα περίπλοκη για να την λύσουµε,
την προσεγγίζουµε ως εξής:
Το είναι περίπου
Άρα προκύπτει η τελική αναδροµική σχέση:
Την οποία λύνουµε µε το θεώρηµα κυριαρχίας και προκύπτει ότι η
πολυπλοκότητά της είναι:




>+





−





=
=
0,91
2
0,1
)(
n
n
T
n
nT
1
2
−


n
2
n




>+





=
=
0,9
2
0,1
)(
n
n
T
n
nT
)(log)( nnT Θ=
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (1.∆ιατύπωση και Λειτουργία)
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
MergeSort ή Ταξινόµηση µε Συγχώνευση:
Είσοδος: πίνακας (αριθµών) A µε n στοιχεία
Έξοδος: ταξινόµηση των στοιχείων του πίνακα σε αύξουσα σειρά
Λειτουργία του αλγορίθµου: Ο αλγόριθµος:
Ταξινοµεί το αριστερό κοµµάτι του πίνακα
Ταξινοµεί το δεξί κοµµάτι του πίνακα
Συγχωνεύει τα δύο ταξινοµηµένα πλέον κοµµάτια σε µία ταξινοµηµένη
ακολουθία
Η ταξινόµηση κάθε κοµµατιού γίνεται µε αναδροµική κλήση της ίδιας
διαδικασίας.
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (2. Ψευδοκώδικας)
11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Παρακάτω φαίνεται µία υλοποίηση της MergeSort σε ψευδογλώσσα
Το κριτήριο τερµατισµού της αναδροµής είναι όταν ο πίνακας έχει το πολύ 2
στοιχεία.
Γίνονται 2 αναδροµικές κλήσεις για την ταξινόµηση του αριστερού και του
δεξιού κοµµατιού αντίστοιχα.
Έπειτα γίνεται συγχώνευση των δύο ακολουθιών µε την διαδικασία Merge
procedure MergeSort(A,start, finish)
if |A|<=2 then
Ταξινόµησε τον Α
else
middle=(start+finish) div 2
A1=MergeSort(A,start,middle)
A2=MergeSort(A,middle+1,finish)
A=Merge(A1,A2)
end if
end procedure
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (2. Ψευδοκώδικας)
12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Η διαδικασία Merge για την συγχώνευση δύο ήδη ταξινοµηµένων πινάκων
µπορεί να υλοποιηθεί ως εξής:
Παραπάνω θεωρούµε το |Α|=n, |B|=m
procedure Merge(A,Β)
i=1, j=1, k=1
while (i<=n AND j<=m)
if (ai<bj) then
ck=ai ; i=i+1
else
ck=bj ; j=j+1
end if
k=k+1
end while
Όσα στοιχεία του Α ή του B περισσεψαν τα βάζουµε στο τέλος του C
return C
end procedure
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση MergeSort(Α,1,16)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 9 10 13
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση MergeSort(Α,1,16)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,1,8)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
18 7 4 11
5 6 7 8
9 20 6 1
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,1,4)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
18 7 4 11
5 6 7 8
9 20 6 1
1 2
18 7
3 4
4 11
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,1,2): Ταξινοµηση του υποπίνακα
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
18 7 4 11
5 6 7 8
9 20 6 1
1 2
7 18
3 4
4 11
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,3,4): Ταξινοµηση του υποπίνακα
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
18 7 4 11
5 6 7 8
9 20 6 1
1 2
7 18
3 4
4 11
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,1,4): Συγχώνευση των δύο υποπινάκων
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
4 7 11 18
5 6 7 8
9 20 6 1
1 2
7 18
3 4
4 11
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,5,8)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
4 7 11 18
5 6 7 8
9 20 6 1
1 2
7 18
3 4
4 11
5 6
9 20
7 8
6 1
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,5,6): Ταξινοµηση του υποπίνακα
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
4 7 11 18
5 6 7 8
9 20 6 1
1 2
7 18
3 4
4 11
5 6
9 20
7 8
6 1
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,7,8): Ταξινοµηση του υποπίνακα
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
4 7 11 18
5 6 7 8
9 20 6 1
1 2
7 18
3 4
4 11
5 6
9 20
7 8
1 6
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,5,8): Συγχώνευση των δύο υποπινάκων
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
18 7 4 11 9 20 6 1
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
4 7 11 18
5 6 7 8
1 6 9 20
1 2
7 18
3 4
4 11
5 6
9 20
7 8
1 6
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,1,8): Συγχώνευση των δύο υποπινάκων
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
1 4 6 7 9 11 18 20
9 10 11 12 13 14 15 16
22 19 14 5 2 3 10 13
1 2 3 4
4 7 11 18
5 6 7 8
1 6 9 20
1 2
7 18
3 4
4 11
5 6
9 20
7 8
1 6
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αντίστοιχα θα γίνουν όλες οι αναδροµικές κλήσεις στο (9,16)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4 5 6 7 8
1 4 6 7 9 11 18 20
9 10 11 12 13 14 15 16
2 3 5 10 13 14 19 22
1 2 3 4
4 7 11 18
5 6 7 8
1 6 9 20
1 2
7 18
3 4
4 11
5 6
9 20
7 8
1 6
9 10 11 12
5 14 19 22
13 14 15 16
2 3 10 13
9 10
19 22
11 12
5 14
13 14
2 3
15 16
10 13
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης)
26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αναδροµική Κλήση (A,1,16): Συγχώνευση των δύο υποπινάκων
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5 6 7 9 10 11 13 14 18 19 20 22
1 2 3 4 5 6 7 8
1 4 6 7 9 11 18 20
9 10 11 12 13 14 15 16
2 3 5 10 13 14 19 22
1 2 3 4
4 7 11 18
5 6 7 8
1 6 9 20
1 2
7 18
3 4
4 11
5 6
9 20
7 8
1 6
9 10 11 12
5 14 19 22
13 14 15 16
2 3 10 13
9 10
19 22
11 12
5 14
13 14
2 3
15 16
10 13
Β. Θεωρία
1. Αναδροµικοί Αλγόριθµοι
2. Ο αλγόριθµος ταξινόµησης MergeSort (4. Ανάλυση)
27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Η πολυπλοκότητα της συνάρτησης Merge είναι:
Άρα η πολυπλοκότητα της MergeSort είναι:
Η οποία είναι ιδαίτερα περίπλοκη γι΄αυτό θεωρούµε ότι
Άρα απλοποιείται ως:
Η οποία λύνεται από το Θ.Κυριαρχίας και προκύπτει: Τ(n)=Θ(nlogn)





>Θ+









+









==Θ
=
2),(
22
21),1(
)(
nn
n
T
n
T
nήn
nT
222
nnn
≈



=







>Θ+





==Θ
=
2),(
2
2
21),1(
)(
nn
n
T
nήn
nT
)()( mnnT +Θ=
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Για την επίλυση της αναδροµικής σχέσης T(n)=aT(n/b)+f(n) υπάρχουν δύο
τρόποι:
Το θεώρηµα κυριαρχίας, το οποίο µε εύκολο τρόπο µας δίνει µια
ασυµπτωτική εκτίµηση της πολυπλοκότητας
Η µέθοδος επανάληψης, µας δίνει την ακριβή συνάρτηση
πολυπλοκότητας (άρα µπορούµε να εξάγουµε και ασυµπτωτική
εκτίµηση).
Συνεπώς:
Αν µας ζητείται απλά η λύση της αναδροµής, προτιµάµε το θεώρηµα
κυριαρχίας.
Αν µας ζητείται ακριβής συνάρτηση πολυπλοκότητας απαιτείται η
µέθοδος επανάληψης
Αν µας ζητείται ασυµπτωτική εκτίµηση της συνάρτησης πολυπλοκότητας
προτιµάµε το θεώρηµα κυριαρχίας
Αν το θεώρηµα κυριάρχίας αποτύχει (µπορεί να συµβεί στην 2η συνθήκη
της 3ης περίπτωσης του Θ.Κ.) τότε αναγκαστικά χρησιµοποιούµε την
µέθοδο επανάληψης.
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
1. Επίλυση µε το θεώρηµα κυριαρχίας
29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Το θεώρηµα Κυριαρχίας (Master Theorem) είναι το εξής:
Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση
όπου a≥1, b>1 είναι σταθερές, και f(n) είναι µια ασυµπτωτικά θετική συνάρτηση.
Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις:
Α) Αν για κάποια σταθερά ε>0, τότε:
Β) Αν τότε:
Γ) Αν για κάποια σταθερά ε>0
και για κάποια σταθερά c<1, τότε:
)()( log ε−
= ab
nOnf
)()( nf
b
n
aTnT +





=
( )ab
nnT log
)( Θ=
)()( log ab
nnf Θ=
( )nnnT ab
log)( log
⋅Θ=
)()( log ε+
Ω= ab
nnf
)(nfc
b
n
fa ⋅≤





⋅
( ))()( nfnT Θ=
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
1. Επίλυση µε το θεώρηµα κυριαρχίας
30∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Για την επίλυση µε το θεώρηµα της κυριαρχίας εργαζόµαστε ως εξής:
Εντοπίζουµε από την εκφώνηση τα a,b και f(n)
Υπόλογίζουµε το logba.
Συγκρίνουµε ασυµπτωτικά το f(n) µε την και:
Αν είµαστε στην Α’ περίπτωση
Αν είµαστε στην B’ περίπτωση
Αν είµαστε στην Γ’ περίπτωση (ΠΡΟΣΟΧΗ! Ότι πρέπει
να ελέγξουµε και την 2η συνθήκη)
ab
nnf log
)( <
ab
nnf log
)( =
ab
nnf log
)( >
ab
nlog
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
1. Επίλυση µε το θεώρηµα κυριαρχίας (Α’ περίπτωση)
31∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Εφόσον είµαστε στην Α’ περίπτωση διατυπώνουµε τελικά την απόδειξη
σύµφωνα µε τον ορισµό:
ΠΑΡΑ∆ΕΙΓΜΑ:
Να λύσετε την αναδροµή:
Λύση:
Έχω:
Ισχύει: για κάποια σταθερά ε>0
Άρα από την Α’ περίπτωση του Θεωρήµατος Κυριαρχίας έπεται ότι:
n
n
TnT +





=
2
8)(
)()( 3 ε−
== nOnnf
)()( 3
nnT Θ=
38loglog,)(,2,8 2 ===== annfba b
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
1. Επίλυση µε το θεώρηµα κυριαρχίας (Β’ περίπτωση)
32∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Εφόσον είµαστε στην Β’ περίπτωση διατυπώνουµε τελικά την απόδειξη
σύµφωνα µε τον ορισµό:
ΠΑΡΑ∆ΕΙΓΜΑ:
Να λύσετε την αναδροµή:
Λύση:
Έχω:
Ισχύει:
Άρα από την Β’ περίπτωση του Θεωρήµατος Κυριαρχίας έπεται ότι:
2
3
9)( n
n
TnT +





=
)()( 22
nnnf Θ==
)log()( 2
nnnT Θ=
29loglog,)(,3,9 3
2
===== annfba b
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
1. Επίλυση µε το θεώρηµα κυριαρχίας (Γ’ περίπτωση)
33∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Στην Γ’ περίπτωση πρέπει να ελέγξουµε και την 2η συνθήκη, δηλαδή να
αναζητήσουµε c>0 τέτοια ώστε . Η εύρεση του εύρους τιµών για
το c γίνεται αντικαθιστώντας τα a, b και την τιµή των f(n) και f(n/b).
ΠΑΡΑ∆ΕΙΓΜΑ:
Να λύσετε την αναδροµή:
Λύση:
Έχω:
Ισχύει: για κάποια σταθερά ε>0
Ελέγχω αν υπάρχει c<1 τέτοιο ώστε:
Άρα ισχύει για ½≤c<1.
Άρα από την Γ’ περίπτωση του Θεωρήµατος Κυριαρχίας έπεται ότι:
3
2
4)( n
n
TnT +





=
)()( 23 ε+
Ω== nnnf
)()( 3
nnT Θ=
24loglog,)(,2,4 2
3
===== annfba b
)(nfc
b
n
fa ⋅≤





⋅
cccn
n
cn
n
ncf
n
fncf
b
n
af ≤⇔≤⇔≤⇔≤





⇔≤





⇔≤





2
1
8
4
2
4
2
4)(
2
4)( 3
3
3
3
3
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
2. Επίλυση µε την µέθοδο επανάληψης
34∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Η µέθοδος επανάληψης είναι µία µέθοδος υπολογισµού της συνάρτησης
πολυπλοκότητας µιας αναδροµής της µορφής T(n)=aT(n/b)+f(n), η οποία
γίνεται µε τα εξής βήµατα:
ΒΗΜΑΤΑ ΤΗΣ ΜΕΘΟ∆ΟΥ ΕΠΑΝΑΛΗΨΗΣ
1. Κάνουµε 3 εφαρµογές της αναδροµικής σχέσης (Μέχρι να φτάσουµε στην
µορφή )
2. Εκτίµηση της σειράς που προκύπτει µετά από k επαναλήψεις (Μας
καθοδηγεί ο όρος )
3. Υπολογίζουµε πότε σταµατάει η αναδροµή (Θέτω όπου n0 η συνθήκη
τερµατισµού της αναδροµής και λύνουµε ως προς k). Π.χ. αν n0=1 τότε
k=logbn
4. Αντικατάσταση του k στον αναδροµικό τύπο του βήµατος 2.
5. Υπολογισµός του αθροίσµατος που προέκυψε.
.......)( 3
+





⋅=
b
n
TnT
.......)( +





⋅= k
b
n
TnT
0n
b
n
k
=
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 1: 3 εφαρµογές του κανόνα)
35∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Στο 1ο βήµα εφαρµόζουµε τον αναδροµικό κανόνα 3 φορές και κάνουµε τις
πράξεις που προκύπτουν.
Βοηθητικά στο πρόχειρο, υπολογίζουµε τους αναδροµικούς όρους µε
αντικατάσταση στην αναδροµή
ΠΑΡΑ∆ΕΙΓΜΑ:
Να λύσετε την αναδροµή:
Λύση:




=
>+





=
1,1
1,
3
5
)(
n
nn
n
T
nT
αν
αν
=+++





=++





+





=
++





=+





+





=
+





=
n
nnn
Tn
nnn
T
n
nn
Tn
nn
T
n
n
TnT
3
5
3
5
3
5
3
5
33
55
3
5
3
5
33
55
3
5)(
2
2
3
3
23
2
2
2
2
232
2
33
5
3
33
5
3
3
5)(
nn
T
n
T
nn
T
n
T
n
n
TnT
+





=





+





=





+





=
ΠΡΟΧΕΙΡΟ
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 2: Εκτίµηση στο βήµα k)
36∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Στο 2ο βήµα εκτιµάµε την σειρά που θα προκύψει µετά από k επαναλήψεις
(Μας καθοδηγεί ο όρος
(pσυνέχειαp)
n
nnnn
T
n
nnn
T
k
k
k
k
+++++





=
==
=+++





=
−
−
3
5
3
5...
3
5
3
5
...
3
5
3
5
3
5
2
2
1
1
2
2
3
3
.......)( +





⋅= k
b
n
TnT
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 3: Υπολογισµός του k)
37∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Υπολογίζουµε πότε σταµατάει η αναδροµή (Θέτω όπου n0 η συνθήκη
τερµατισµού της αναδροµής και λύνουµε ως προς k).
(pσυνέχειαp)
Η αναδροµή σταµατά όταν
0n
b
n
k
=
nk
kn
n
n
n
k
k
k
3
33
33
log
3loglog
3loglog
3
1
3
=
⇒=
⇒=
⇒=
⇒=
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 4: Αντικατάσταση του k)
38∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Αντικαθιστούµε το k που βρήκαµε στην παράσταση που προέκυψε στο βήµα
2. Θα πρέπει να απαλειφθεί ο αναδροµικός όρος µε την συνθήκη
τερµατισµού της αναδροµής.
(pσυνέχειαp)
Θέτοντας k=log3n στην Τ(n) έχουµε:
( )
n
nnn
n
nnn
T
n
nnnn
TnT
n
nn
n
nn
n
n
n
n
+++++=
+++++=
+++++





=
−
−
−
−
−
−
3
5
3
5...
3
55
3
5
3
5...
3
515
3
5
3
5...
3
5
3
5)(
2
2
1log
1loglog
2
2
1log
1loglog
2
2
1log
1log
log
log
3
33
3
33
3
3
3
3
Γ. Μεθοδολογία Ασκήσεων
1. Η αναδροµή T(n)=aT(n/b)+f(n)
2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 5: Υπολογισµός του αθροίσµατος)
39∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Υπολογίζουµε το άθροισµα που προκύπτει. Στην µέθοδο επανάληψης
προκύπτει πάντα γεωµετρική πρόοδος στις σταθερές που εµφανίζονται και
γι’ αυτό είναι χρήσιµη η σχέση:
(pσυνέχειαp)
Άρα
nnn
nn
n
n
nnn
n
n
nnn
nT
nn
n
n
n
i
inn
i
i
n
n
i i
i
nn
i i
in
n
nn
n
nn
5,166,15,15
166,1
166,1
5
66,15
3
5
5
3
5
5
3
55
3
5...
3
5
3
55
3
5
3
5...
3
55)(
33
3
3
3333
3333
3
33
3
33
loglog
11log
log
1log
0
log1log
0
log
1log
0
log1log
0
log
1log
1log
2
2log
2
2
1log
1loglog
−⋅⋅+=
−
−
+=
=+=





+=
=+=+=
=



+++++=
=+++++=
+−
−
=
−
=
−
=
−
=
−
−
−
−
∑∑
∑∑
∑=
+
−
−
=
n
i
n
i
x
x
x
0
1
1
1
nnnT nn
5,166,15,15)( 33 loglog
−⋅⋅+=
∆. Ασκήσεις
Εφαρµογή 1
Υπολογίστε µία ασυµπτωτική εκτίµηση της πολυπλοκότητας των
αναδροµών:
40∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
4
3
2
2
8)()
2
8)()
2
8)()
n
n
TnTC
n
n
TnTB
n
n
TnTA
+





=
+





=
+





=
∆. Ασκήσεις
Εφαρµογή 2
Λύστε τις αναδροµές:
41∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
3
2
2
5)()
2
5)()
n
n
TnTB
n
n
TnTA
+





=
+





=
∆. Ασκήσεις
Εφαρµογή 3
Υπολογίστε την ακριβή πολυπλοκότητα των αναδροµών:
42∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)




=
>+





=




=
>+





=
1,1
1,
3
4
)()
1,1
1,
2
6
)()
2
n
nn
n
T
nTB
n
nn
n
T
nTA
αν
αν
αν
αν
Παράρτηµα
1. Η µέθοδος της αντικατάστασης
3. Εντοπισµός Άνω Φράγµατος
43∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Στην µέθοδο της αντικατάστασης:
«Μαντεύουµε» τη λύση της αναδροµής.
Επαληθεύουµε ότι η λύση που µαντέψαµε είναι ορθή (µε µαθηµατική επαγωγή)
αντικαθιστώντας την στον ορισµό του ασυµπτωτικού συµβολισµού.
ΒΗΜΑΤΑ ΤΗΣ ΜΕΘΟ∆ΟΥ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ( π.χ. για )
1. Μαντεύουµε (ή µας δίνεται) η λύση της αναδροµικής σχέσης. [πχ ]
2. Άνω Φράγµα: Επαληθεύουµε ότι βρίσκοντας κατάλληλα c1,n1 έτσι ώστε η
σχέση να ισχύει επαγωγικά.
3. Κάτω Φράγµα: Επαληθεύουµε ότι βρίσκοντας κατάλληλα c2,n2 έτσι ώστε η
σχέση να ισχύει επαγωγικά.
4. Συνεπώς ισχύει µε την επιλογή των c1,c2 και θέτοντας n0=max{n1,n2}
Παρατήρηση:
Η µαντεψιά της λύσης της αναδροµής:
• Είτε εντοπίζεται λόγω µεγάλης εµπειρίας στη λύση αναδροµικών σχέσεων.
• Είτε, συνηθέστερα, µας δίνεται στην εκφώνηση.
Παράρτηµα
1. Η µέθοδος της αντικατάστασης
2. Παράδειγµα
44∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
ΠΑΡΑ∆ΕΙΓΜΑ 1:
Να επαληθεύσετε ότι η λύση της αναδροµής: Τ n
2 , 1
1. 0 1
είναι Τ n Θ nlogn
Λύση:
Κάτω Φράγµα: Αναζητούµε $ , 0 έτσι ώστε:
Τ n 2
% 2c '()
c log * log 2
c '() * $
% c '() 1 * $
Συνεπώς απαιτείται 1 * $ % 0, έτσι ώστε: Τ n % $ '() , άρα πρέπει $ 1, ώστε:
Τ % c '()
Για την βάση της επαγωγής:
• n 1: 	Τ 1 1 % $ ⋅ 1 ⋅ log 1 0. Ισχύει για ./01	$
• n 2: 	Τ 2 4 % $ ⋅ 2 ⋅ log 2 $ ⋅ 2. Ισχύει για $ 2	
• n 3: 	Τ 3 10 % $ ⋅ 3 ⋅ log3 $ ⋅ 4,75. Ισχύει για $ 2,1.
Συνεπώς ισχύει για % 1, c 1.
Παράρτηµα
1. Η µέθοδος της αντικατάστασης
2. Παράδειγµα
45∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
ΠΑΡΑ∆ΕΙΓΜΑ 1:
Να επαληθεύσετε ότι η λύση της αναδροµής: Τ n
2 , 1
1. 0 1
είναι Τ n Θ nlogn
Λύση(;συνέχεια;):
Άνω Φράγµα: Αναζητούµε $6, 6 0 έτσι ώστε:
Τ n 2
2c6 '()
c6 log * log 2
c6 '() * $6
c6 '() 1 * $6
Συνεπώς απαιτείται 1 * $6 0, έτσι ώστε: Τ n $6 '() , άρα πρέπει $6 % 1, ώστε:
	Τ c6 '() 		
Για την βάση της επαγωγής:
• n 1: 	Τ 1 1 $6 ⋅ 1 ⋅ log 1 0. ∆εν ισχύει.
• n 2: 	Τ 2 4 $6 ⋅ 2 ⋅ log 2 $6 ⋅ 2. Ισχύει για $6 % 2	
• 3: 	Τ 3 10 $6 ⋅ 3 ⋅ log 3 $6 ⋅ 4,75. Ισχύει για $6 % 2,1.
Συνεπώς ισχύει για 6 % 2, $6 % 2,1
Άρα T n Θ nlogn µε 8 % 2, 	 c6 % 2,1, c 1.
Παράρτηµα
1. Η µέθοδος της αντικατάστασης
3. Εντοπισµός Άνω Φράγµατος
46∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
Πιο συχνή είναι η εφαρµογή της µεθόδου αντικατάστασης για τον εντοπισµό άνω φράγµατος.
Θα δούµε µερικά παραδείγµατα:
ΠΑΡΑ∆ΕΙΓΜΑ 2:
Να επαληθεύσετε ότι για την αναδροµική σχέση: Τ n 2 , 1
1. 1
ισχύει Τ n O nlogn
Λύση:
Τ n 2
2$ '()
2$ '()
$ '()
$ '() * $ '()2
$ '() 1 * $
Άρα πρέπει c % 1
Για την βάση της επαγωγής:
• n 1: 	Τ 1 1 $ ⋅ 1 ⋅ log 1 0. ∆εν ισχύει.
• n 2: 	Τ 2 4 $ ⋅ 2 ⋅ log 2 $ ⋅ 2. Ισχύει για $ % 2	
• n 3: 	Τ 3 5 $ ⋅ 3 ⋅ log 3 $ ⋅ 4,75. Ισχύει για $ % 1,05.
Συνεπώς ισχύει για 8 % 2, $ % 2.
Παράρτηµα
1. Η µέθοδος της αντικατάστασης
3. Εντοπισµός Άνω Φράγµατος
47∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
ΠΑΡΑ∆ΕΙΓΜΑ 3:
Να επαληθεύσετε ότι για την αναδρ. σχέση: Τ n 1 µε Τ 1 1, ισχύει Τ n Ο n
Προσπάθεια Λύσης:
Αναζητούµε $, 8 0 έτσι ώστε:
Τ n 1
$ $ 1
$ 1
Αποτυχία επίλυσης, διότι έπρεπε Τ n cn
Λύση:
Μαντεύουμε	ότι	 $ * F	
Τ n 1
$ * F $ * F 1
$ * 2F 1
Αρκεί λοιπόν *2F 1 G 0 άρα F
6
.
Π.χ. για b=1/2 ισχύει για κάθε $ % 0.
Για την βάση της επαγωγής:
• n 1: 	Τ 1 1 $ ⋅ 1. Ισχύει για c % 1.
• n 2: 	Τ 2 3 $ ⋅ 2. Ισχύει για $ % 1,5	
• 3: 	Τ 3 5 $ ⋅ 3. Ισχύει για $ % 1,67.
Συνεπώς ισχύει για % 1, $ % 1,67
Άρα T n Θ nlogn µε 8 % 2, 	 c6 % 2,1, c 1.
Ασκήσεις
Εφαρµογή 4
Έστω αναδροµικός αλγόριθµος που για να επιλύσει ένα πρόβληµα µε n δεδοµένα, επιλύει 3
υποπροβλήµατα µε n/3 δεδοµένα και έπειτα συνδυάζει τις λύσεις σε χρόνο 12n.
Λύστε την αναδροµική σχέση που εκφράζει την πολυπλοκότητα του προβλήµατος.
Επαληθεύστε την απάντηση για τον χρόνο εκτέλεσης, µε τη µέθοδο της αντικατάστασης,
προσδιορίζοντας επακριβώς τη σταθερά n0 και εκείνες (c1, c2) του ασυµπτωτικού
συµβολισµού. Ως αρχική συνθήκη, ισχύει ότι Τ(x)=1, για κάθε 0≤x≤1
48∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
1 of 48

Recommended

ΠΛΗ30 ΜΑΘΗΜΑ 1.5 by
ΠΛΗ30 ΜΑΘΗΜΑ 1.5ΠΛΗ30 ΜΑΘΗΜΑ 1.5
ΠΛΗ30 ΜΑΘΗΜΑ 1.5Dimitris Psounis
8.1K views33 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 by
ΠΛΗ30 ΜΑΘΗΜΑ 1.3ΠΛΗ30 ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΜΑΘΗΜΑ 1.3Dimitris Psounis
9.2K views22 slides
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 by
ΠΛΗ30 ΜΑΘΗΜΑ 2.1ΠΛΗ30 ΜΑΘΗΜΑ 2.1
ΠΛΗ30 ΜΑΘΗΜΑ 2.1Dimitris Psounis
7.7K views29 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 by
ΠΛΗ30 ΜΑΘΗΜΑ 1.1ΠΛΗ30 ΜΑΘΗΜΑ 1.1
ΠΛΗ30 ΜΑΘΗΜΑ 1.1Dimitris Psounis
16.2K views32 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 by
ΠΛΗ30 ΜΑΘΗΜΑ 1.6ΠΛΗ30 ΜΑΘΗΜΑ 1.6
ΠΛΗ30 ΜΑΘΗΜΑ 1.6Dimitris Psounis
5.3K views10 slides
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 by
ΠΛΗ30 ΜΑΘΗΜΑ 2.2ΠΛΗ30 ΜΑΘΗΜΑ 2.2
ΠΛΗ30 ΜΑΘΗΜΑ 2.2Dimitris Psounis
7.4K views41 slides

More Related Content

What's hot

ΠΛΗ30 ΜΑΘΗΜΑ 2.3 by
ΠΛΗ30 ΜΑΘΗΜΑ 2.3ΠΛΗ30 ΜΑΘΗΜΑ 2.3
ΠΛΗ30 ΜΑΘΗΜΑ 2.3Dimitris Psounis
5.8K views42 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.2 by
ΠΛΗ30 ΜΑΘΗΜΑ 1.2ΠΛΗ30 ΜΑΘΗΜΑ 1.2
ΠΛΗ30 ΜΑΘΗΜΑ 1.2Dimitris Psounis
16.3K views26 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1) by
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)Dimitris Psounis
12.3K views8 slides
ΠΛΗ30 ΜΑΘΗΜΑ 6.1 by
ΠΛΗ30 ΜΑΘΗΜΑ 6.1ΠΛΗ30 ΜΑΘΗΜΑ 6.1
ΠΛΗ30 ΜΑΘΗΜΑ 6.1Dimitris Psounis
4.6K views30 slides
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1 by
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1Dimitris Psounis
4.1K views3 slides
ΠΛΗ30 ΤΕΣΤ 1 by
ΠΛΗ30 ΤΕΣΤ 1ΠΛΗ30 ΤΕΣΤ 1
ΠΛΗ30 ΤΕΣΤ 1Dimitris Psounis
3.9K views2 slides

What's hot(20)

ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
Dimitris Psounis12.3K views
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ by Dimitris Psounis
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
Dimitris Psounis14.2K views
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2 by Dimitris Psounis
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
Dimitris Psounis7.9K views
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2 by Dimitris Psounis
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
Dimitris Psounis1.3K views

Viewers also liked

ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4 by
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4Dimitris Psounis
8.7K views4 slides
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl) by
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)Dimitris Psounis
7.7K views1 slide
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1) by
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)Dimitris Psounis
8K views12 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1) by
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)Dimitris Psounis
6.2K views9 slides
ΠΛΗ30 ΚΑΡΤΑ 1.5 by
ΠΛΗ30 ΚΑΡΤΑ 1.5ΠΛΗ30 ΚΑΡΤΑ 1.5
ΠΛΗ30 ΚΑΡΤΑ 1.5Dimitris Psounis
6.6K views3 slides
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl) by
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)Dimitris Psounis
5.9K views1 slide

Viewers also liked(20)

ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
Dimitris Psounis8.7K views
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
Dimitris Psounis7.4K views
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis6.3K views
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.6K views
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.9K views
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)
Dimitris Psounis11.6K views
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.7K views
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis6K views
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.4K views
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis3.8K views
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
Dimitris Psounis7.6K views
ΠΛΗ30 ΚΑΡΤΑ - ΙΕΡΑΡΧΙΑ ΣΥΝΑΡΤΗΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ - ΙΕΡΑΡΧΙΑ ΣΥΝΑΡΤΗΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣΠΛΗ30 ΚΑΡΤΑ - ΙΕΡΑΡΧΙΑ ΣΥΝΑΡΤΗΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ
ΠΛΗ30 ΚΑΡΤΑ - ΙΕΡΑΡΧΙΑ ΣΥΝΑΡΤΗΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ
Dimitris Psounis9.1K views

Similar to ΠΛΗ30 ΜΑΘΗΜΑ 1.4

ΠΛΗ10 ΜΑΘΗΜΑ 2.7 by
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 Dimitris Psounis
3.2K views43 slides
ΠΛΗ30 ΤΕΣΤ 7 by
ΠΛΗ30 ΤΕΣΤ 7ΠΛΗ30 ΤΕΣΤ 7
ΠΛΗ30 ΤΕΣΤ 7Dimitris Psounis
1.9K views3 slides
ΠΛΗ30 ΤΕΣΤ 8 by
ΠΛΗ30 ΤΕΣΤ 8ΠΛΗ30 ΤΕΣΤ 8
ΠΛΗ30 ΤΕΣΤ 8Dimitris Psounis
2.3K views3 slides
ΠΛΗ10 ΤΕΣΤ 33 by
ΠΛΗ10 ΤΕΣΤ 33ΠΛΗ10 ΤΕΣΤ 33
ΠΛΗ10 ΤΕΣΤ 33Dimitris Psounis
716 views7 slides
ΠΛΗ10 ΤΕΣΤ 26 by
ΠΛΗ10 ΤΕΣΤ 26ΠΛΗ10 ΤΕΣΤ 26
ΠΛΗ10 ΤΕΣΤ 26Dimitris Psounis
983 views8 slides
ΠΛΗ20 ΤΕΣΤ 17 by
ΠΛΗ20 ΤΕΣΤ 17ΠΛΗ20 ΤΕΣΤ 17
ΠΛΗ20 ΤΕΣΤ 17Dimitris Psounis
1.2K views4 slides

Similar to ΠΛΗ30 ΜΑΘΗΜΑ 1.4(20)

ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 by Dimitris Psounis
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
Dimitris Psounis5.7K views
Εισαγωγή στους Πίνακες by Math Studies
Εισαγωγή στους ΠίνακεςΕισαγωγή στους Πίνακες
Εισαγωγή στους Πίνακες
Math Studies959 views
Nonlinear dynamics and chaos in neural networks course project by Konstantinos Dragonas
Nonlinear dynamics and chaos in neural networks course projectNonlinear dynamics and chaos in neural networks course project
Nonlinear dynamics and chaos in neural networks course project
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ by Dimitris Psounis
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
Dimitris Psounis3.5K views
λυγάτσικας ζήνων ασκήσεις άλγεβρας B΄λυκείου 2015-6 by Christos Loizos
λυγάτσικας ζήνων   ασκήσεις άλγεβρας B΄λυκείου 2015-6λυγάτσικας ζήνων   ασκήσεις άλγεβρας B΄λυκείου 2015-6
λυγάτσικας ζήνων ασκήσεις άλγεβρας B΄λυκείου 2015-6
Christos Loizos13.7K views

More from Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣDimitris Psounis
4.9K views25 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ) by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Dimitris Psounis
641 views7 slides
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ) by
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
475 views8 slides
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ by
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣDimitris Psounis
1.4K views29 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣDimitris Psounis
5.9K views30 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ) by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
3.8K views8 slides

More from Dimitris Psounis(20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Dimitris Psounis4.9K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ) by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Dimitris Psounis641 views
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ) by Dimitris Psounis
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
Dimitris Psounis475 views
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ by Dimitris Psounis
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Dimitris Psounis1.4K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Dimitris Psounis5.9K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ) by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Dimitris Psounis3.8K views
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C by Dimitris Psounis
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
Dimitris Psounis2.3K views
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p) by Dimitris Psounis
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
Dimitris Psounis331 views
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6 by Dimitris Psounis
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
Dimitris Psounis2.9K views
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5 by Dimitris Psounis
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
Dimitris Psounis899 views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.5K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis2.5K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis4.6K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis4.5K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
Dimitris Psounis3.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis3.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.1K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
Dimitris Psounis3.9K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.8K views

Recently uploaded

ΑΝΑΠΗΡΙΑ. by
ΑΝΑΠΗΡΙΑ.ΑΝΑΠΗΡΙΑ.
ΑΝΑΠΗΡΙΑ.ssuser43d27b
9 views7 slides
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx by
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptxΜύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptxgymkeram
48 views19 slides
Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;" by
Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;"Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;"
Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;"gymkeram
19 views22 slides
Imerida_36_Dec_2023.pptx by
Imerida_36_Dec_2023.pptxImerida_36_Dec_2023.pptx
Imerida_36_Dec_2023.pptx36dimperist
40 views7 slides
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ. by
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.ssuser43d27b
44 views18 slides
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx by
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptxΠαγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx7gymnasiokavalas
37 views14 slides

Recently uploaded(20)

Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx by gymkeram
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptxΜύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx
gymkeram48 views
Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;" by gymkeram
Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;"Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;"
Ενεργώ ως Πολίτης - Δράση "Είναι όλα τα λεμόνια ίδια;"
gymkeram19 views
Imerida_36_Dec_2023.pptx by 36dimperist
Imerida_36_Dec_2023.pptxImerida_36_Dec_2023.pptx
Imerida_36_Dec_2023.pptx
36dimperist40 views
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ. by ssuser43d27b
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.
ssuser43d27b44 views
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx by 7gymnasiokavalas
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptxΠαγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx
7gymnasiokavalas37 views
Βρίσκοντας τα μνημεία by Dimitra Mylonaki
Βρίσκοντας τα μνημείαΒρίσκοντας τα μνημεία
Βρίσκοντας τα μνημεία
Dimitra Mylonaki17 views
Επιστολή με θέμα τους πρόσφυγες by Dimitra Mylonaki
Επιστολή με θέμα τους πρόσφυγεςΕπιστολή με θέμα τους πρόσφυγες
Επιστολή με θέμα τους πρόσφυγες
Dimitra Mylonaki121 views
Γυμνάσιο Κεραμωτής: Διδακτική επίσκεψη στο Ίδρυμα Ορμύλια 28.11.2023 by gymkeram
Γυμνάσιο Κεραμωτής: Διδακτική επίσκεψη στο Ίδρυμα Ορμύλια 28.11.2023Γυμνάσιο Κεραμωτής: Διδακτική επίσκεψη στο Ίδρυμα Ορμύλια 28.11.2023
Γυμνάσιο Κεραμωτής: Διδακτική επίσκεψη στο Ίδρυμα Ορμύλια 28.11.2023
gymkeram76 views
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια. by ssuser43d27b
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.
ssuser43d27b31 views
Συμμετοχή Γυμνασίου Κεραμωτής στο πρόγραμμα "Kids save lives" - "Τα παιδιά σώ... by gymkeram
Συμμετοχή Γυμνασίου Κεραμωτής στο πρόγραμμα "Kids save lives" - "Τα παιδιά σώ...Συμμετοχή Γυμνασίου Κεραμωτής στο πρόγραμμα "Kids save lives" - "Τα παιδιά σώ...
Συμμετοχή Γυμνασίου Κεραμωτής στο πρόγραμμα "Kids save lives" - "Τα παιδιά σώ...
gymkeram12 views
Γυμνάσιο Κεραμωτής - Κινητικότητα Erasmus+ / 12-18.11.2023 by gymkeram
Γυμνάσιο Κεραμωτής - Κινητικότητα Erasmus+ / 12-18.11.2023Γυμνάσιο Κεραμωτής - Κινητικότητα Erasmus+ / 12-18.11.2023
Γυμνάσιο Κεραμωτής - Κινητικότητα Erasmus+ / 12-18.11.2023
gymkeram26 views
Xmas_2023_Sillogos_Goneon_kai_Kidemonon.pptx by 36dimperist
Xmas_2023_Sillogos_Goneon_kai_Kidemonon.pptxXmas_2023_Sillogos_Goneon_kai_Kidemonon.pptx
Xmas_2023_Sillogos_Goneon_kai_Kidemonon.pptx
36dimperist25 views
Σχολές, Σπουδές & Πανελλαδικές 2024_2 by EmployEdu
Σχολές, Σπουδές & Πανελλαδικές 2024_2Σχολές, Σπουδές & Πανελλαδικές 2024_2
Σχολές, Σπουδές & Πανελλαδικές 2024_2
EmployEdu254 views
Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς ΛΑΠΜΠΟΥΚ by Dimitra Mylonaki
Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς ΛΑΠΜΠΟΥΚΜνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς ΛΑΠΜΠΟΥΚ
Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς ΛΑΠΜΠΟΥΚ
Dimitra Mylonaki21 views
Γυμνάσιο Κεραμωτής - Γιορτή 17ης Νοεμβρίου 2023.pptx by gymkeram
Γυμνάσιο Κεραμωτής - Γιορτή 17ης Νοεμβρίου 2023.pptxΓυμνάσιο Κεραμωτής - Γιορτή 17ης Νοεμβρίου 2023.pptx
Γυμνάσιο Κεραμωτής - Γιορτή 17ης Νοεμβρίου 2023.pptx
gymkeram18 views
Σύμπραξη Γυμνάσιο Κεραμωτής - 7ο Γυμνάσιο Καβάλας - Realschule Calberlah Γερμ... by gymkeram
Σύμπραξη Γυμνάσιο Κεραμωτής - 7ο Γυμνάσιο Καβάλας - Realschule Calberlah Γερμ...Σύμπραξη Γυμνάσιο Κεραμωτής - 7ο Γυμνάσιο Καβάλας - Realschule Calberlah Γερμ...
Σύμπραξη Γυμνάσιο Κεραμωτής - 7ο Γυμνάσιο Καβάλας - Realschule Calberlah Γερμ...
gymkeram14 views
Ευρωπαϊκή Ένωση by ssuser43d27b
Ευρωπαϊκή ΈνωσηΕυρωπαϊκή Ένωση
Ευρωπαϊκή Ένωση
ssuser43d27b10 views

ΠΛΗ30 ΜΑΘΗΜΑ 1.4

  • 1. ΠΛΗ30 ΕΝΟΤΗΤΑ 1: ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μάθηµα 1.4: Ανάλυση Αναδροµικών Αλγορίθµων Η αναδροµική σχέση T(n)=aT(n/b)+f(n) ∆ηµήτρης Ψούνης
  • 2. ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος Β.Θεωρία 1. Αναδροµικοί Αλγόριθµοι 1. Ο αλγόριθµος αναζήτησης BinarySearch 2. Ο αλγόριθµος ταξινόµησης MergeSort 2. Αναδροµικές Σχέσεις Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 1. Επίλυση µε το Θεώρηµα Κυριαρχίας 2. Επίλυση µε την Μέθοδο της Επανάληψης ∆.Ασκήσεις 2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
  • 3. Α. Σκοπός του Μαθήµατος Οι στόχοι του µαθήµατος είναι: Επίπεδο Α Το θεώρηµα κυριαρχίας για την επίλυση της αναδροµικής σχέσης T(n)=aT(n/b)+f(n) Επίπεδο Β Η µέθοδος επανάληψης για την επίλυση της αναδροµικής σχέσης T(n)=aT(n/b)+f(n) Επίπεδο Γ Ο αλγόριθµος ταξινόµησης MergeSort Ο αλγόριθµος αναζήτησης BinarySearch 3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)
  • 4. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Γενικότερα ένας αναδροµικός αλγόριθµος είναι ένας αλγόριθµος ο οποίος υλοποιείται από µία αναδροµική διαδικασία. Αναδροµική λέγεται µια διαδικασία που κατά την διάρκεια της εκτέλεσής της καλεί τον εαυτό της. Η γενική µορφή ενός αναδροµικού κώδικα φαίνεται στο σχήµα. Παρατηρήστε ότι σε κάποιο σηµείο του σώµατος της διαδικασίας πρέπει να γίνεται κλήση στην ίδια την συνάρτηση: Θα µελετήσουµε δύο περίφηµους αναδροµικούς αλγόριθµους: Τον BinarySearch για την αναζήτηση στοιχείου σε µία ακολουθία Τον MergeSort για την ταξινόµηση ενός πίνακα αριθµών procedure recursive(n) ... ... ΚΛΗΣΗ recursive(n-1) ... ... end procedure
  • 5. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 1. Ο αλγόριθµος αναζήτησης BinarySearch (1.∆ιατύπωση και Λειτουργία) 5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) BinarySearch ή ∆υαδική Αναζήτηση: Είσοδος: Ταξινόµηµένος πίνακας A, στοιχείο x Έξοδος: Αν το στοιχείο υπάρχει στον πίνακα, επιστρέφεται η θέση του στοιχείου x στον πίνακα Α. Αν το στοιχείο δεν υπάρχει στον πίνακα, επιστρέφεται 0. Λειτουργία του αλγορίθµου: Ο αλγόριθµος εξετάζει το µεσαίο στοιχείο του πίνακα και διακρίνει περιπτώσεις: Αν το µεσαίο στοιχείο είναι το x, επιστρέφει την θέση του. Αν το x είναι µικρότερο από το µεσαίο στοιχείο τότε αναδροµικά ψάχνει στο κοµµάτι του πίνακα από την αρχή µέχρι το µεσαίο στοιχείο Αν το x είναι µεγαλύτερο από το µεσαίο στοιχείο τότε αναδροµικά ψάχνει στο κοµµάτι του πίνακα από το µεσαίο στοιχείο µέχρι το τέλος
  • 6. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 1. Ο αλγόριθµος αναζήτησης BinarySearch (2. Ψευδοκώδικας) 6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Παρακάτω φαίνεται µία υλοποίηση της BinarySearch σε ψευδογλώσσα procedure BinarySearch(A,x,start,finish) if start>finish then return 0 else middle=(start+finish) div 2 if (x==A[middle]) then return middle else if (x<A[middle]) then pos=BinarySearch(A,x,start,middle-1) return pos else if (x>A[middle]) then pos=BinarySearch(A,x,middle+1,finish) return pos end if end if end procedure
  • 7. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 1. Ο αλγόριθµος αναζήτησης BinarySearch (3. Παράδειγµα Εκτέλεσης) 7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Εκτελούµε τον αλγόριθµο ψάχνοντας το στοιχείο 11 στον πίνακα: Κλήση: BinarySearch(A,11,1,15): middle=(1+15) div 2=8. x<A[middle] Αναδροµική Κλήση: BinarySearch(A,11,1,7) : middle=(1+7) div 2=4 x>A[middle] Αναδροµική Κλήση: BinarySearch(A,11,5,7) : middle=(5+7) div 2=6 x<A[middle] Αναδροµική Κλήση: BinarySearch(A,11,5,5) : middle=(5+5) div 2=5 x=A[middle] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 7 11 13 17 21 23 27 31 33 37 41 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 7 11 13 17 21 23 27 31 33 37 41 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 7 11 13 17 21 23 27 31 33 37 41 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 7 11 13 17 21 23 27 31 33 37 41 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 7 11 13 17 21 23 27 31 33 37 41 43 start start start start=finish finish finish finish
  • 8. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 1. Ο αλγόριθµος αναζήτησης BinarySearch (4. Ανάλυση) 8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Καλύτερη περίπτωση: είναι όταν το στοιχείο x βρίσκεται ακριβώς στην µεσαία θέση του πίνακα. Η πολυπλοκότητα είναι T(n)=5 άρα ασυµπτωτικά T(n)=Θ(1). Χειρότερη περίπτωση: είναι όταν το στοιχείο x δεν υπάρχει στον πίνακα: Έστω T(n) η πολυπλοκότητα όταν ο πίνακας έχει διάσταση n. Αρχικά θα γίνουν 8 πράξεις µέχρι να γίνει η αναδροµική κλήση (έστω ότι πάντα γίνεται και η 2η αναδροµική κλήση για να έχουµε µία παραπάνω σύγκριση) Έπειτα γίνεται αναδροµική κλήση για πίνακα διάστασης Άρα αφού για διάσταση n, έχουµε χρόνο T(n), για διάσταση θέλουµε χρόνο Έπειτα γίνεται ακόµη 1 πράξη. Άρα η πολυπλοκότητα δίνεται από την αναδροµική σχέση: Ειδικά όταν n=0 τότε γίνεται 1 πράξη (κριτήριο τερµατισµού) 1 2 −   n 1 2 −   n       −     1 2 n T 91 2 )( +      −    = n TnT
  • 9. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 1. Ο αλγόριθµος αναζήτησης BinarySearch (4. Ανάλυση) 9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Τελικά η χειρότερη περίπτωση λύνεται από την αναδροµική σχέση: Επειδή ωστόσο αυτή η σχέση είναι ιδιαίτερα περίπλοκη για να την λύσουµε, την προσεγγίζουµε ως εξής: Το είναι περίπου Άρα προκύπτει η τελική αναδροµική σχέση: Την οποία λύνουµε µε το θεώρηµα κυριαρχίας και προκύπτει ότι η πολυπλοκότητά της είναι:     >+      −      = = 0,91 2 0,1 )( n n T n nT 1 2 −   n 2 n     >+      = = 0,9 2 0,1 )( n n T n nT )(log)( nnT Θ=
  • 10. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (1.∆ιατύπωση και Λειτουργία) 10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) MergeSort ή Ταξινόµηση µε Συγχώνευση: Είσοδος: πίνακας (αριθµών) A µε n στοιχεία Έξοδος: ταξινόµηση των στοιχείων του πίνακα σε αύξουσα σειρά Λειτουργία του αλγορίθµου: Ο αλγόριθµος: Ταξινοµεί το αριστερό κοµµάτι του πίνακα Ταξινοµεί το δεξί κοµµάτι του πίνακα Συγχωνεύει τα δύο ταξινοµηµένα πλέον κοµµάτια σε µία ταξινοµηµένη ακολουθία Η ταξινόµηση κάθε κοµµατιού γίνεται µε αναδροµική κλήση της ίδιας διαδικασίας.
  • 11. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (2. Ψευδοκώδικας) 11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Παρακάτω φαίνεται µία υλοποίηση της MergeSort σε ψευδογλώσσα Το κριτήριο τερµατισµού της αναδροµής είναι όταν ο πίνακας έχει το πολύ 2 στοιχεία. Γίνονται 2 αναδροµικές κλήσεις για την ταξινόµηση του αριστερού και του δεξιού κοµµατιού αντίστοιχα. Έπειτα γίνεται συγχώνευση των δύο ακολουθιών µε την διαδικασία Merge procedure MergeSort(A,start, finish) if |A|<=2 then Ταξινόµησε τον Α else middle=(start+finish) div 2 A1=MergeSort(A,start,middle) A2=MergeSort(A,middle+1,finish) A=Merge(A1,A2) end if end procedure
  • 12. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (2. Ψευδοκώδικας) 12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Η διαδικασία Merge για την συγχώνευση δύο ήδη ταξινοµηµένων πινάκων µπορεί να υλοποιηθεί ως εξής: Παραπάνω θεωρούµε το |Α|=n, |B|=m procedure Merge(A,Β) i=1, j=1, k=1 while (i<=n AND j<=m) if (ai<bj) then ck=ai ; i=i+1 else ck=bj ; j=j+1 end if k=k+1 end while Όσα στοιχεία του Α ή του B περισσεψαν τα βάζουµε στο τέλος του C return C end procedure
  • 13. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση MergeSort(Α,1,16) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 9 10 13
  • 14. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση MergeSort(Α,1,16) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13
  • 15. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,1,8) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 18 7 4 11 5 6 7 8 9 20 6 1
  • 16. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,1,4) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 18 7 4 11 5 6 7 8 9 20 6 1 1 2 18 7 3 4 4 11
  • 17. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,1,2): Ταξινοµηση του υποπίνακα 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 18 7 4 11 5 6 7 8 9 20 6 1 1 2 7 18 3 4 4 11
  • 18. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,3,4): Ταξινοµηση του υποπίνακα 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 18 7 4 11 5 6 7 8 9 20 6 1 1 2 7 18 3 4 4 11
  • 19. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,1,4): Συγχώνευση των δύο υποπινάκων 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 4 7 11 18 5 6 7 8 9 20 6 1 1 2 7 18 3 4 4 11
  • 20. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,5,8) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 4 7 11 18 5 6 7 8 9 20 6 1 1 2 7 18 3 4 4 11 5 6 9 20 7 8 6 1
  • 21. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,5,6): Ταξινοµηση του υποπίνακα 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 4 7 11 18 5 6 7 8 9 20 6 1 1 2 7 18 3 4 4 11 5 6 9 20 7 8 6 1
  • 22. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,7,8): Ταξινοµηση του υποπίνακα 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 4 7 11 18 5 6 7 8 9 20 6 1 1 2 7 18 3 4 4 11 5 6 9 20 7 8 1 6
  • 23. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,5,8): Συγχώνευση των δύο υποπινάκων 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 18 7 4 11 9 20 6 1 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 4 7 11 18 5 6 7 8 1 6 9 20 1 2 7 18 3 4 4 11 5 6 9 20 7 8 1 6
  • 24. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,1,8): Συγχώνευση των δύο υποπινάκων 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 1 4 6 7 9 11 18 20 9 10 11 12 13 14 15 16 22 19 14 5 2 3 10 13 1 2 3 4 4 7 11 18 5 6 7 8 1 6 9 20 1 2 7 18 3 4 4 11 5 6 9 20 7 8 1 6
  • 25. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αντίστοιχα θα γίνουν όλες οι αναδροµικές κλήσεις στο (9,16) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 5 6 7 8 1 4 6 7 9 11 18 20 9 10 11 12 13 14 15 16 2 3 5 10 13 14 19 22 1 2 3 4 4 7 11 18 5 6 7 8 1 6 9 20 1 2 7 18 3 4 4 11 5 6 9 20 7 8 1 6 9 10 11 12 5 14 19 22 13 14 15 16 2 3 10 13 9 10 19 22 11 12 5 14 13 14 2 3 15 16 10 13
  • 26. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (3. Παράδειγµα Εκτέλεσης) 26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αναδροµική Κλήση (A,1,16): Συγχώνευση των δύο υποπινάκων 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 9 10 11 13 14 18 19 20 22 1 2 3 4 5 6 7 8 1 4 6 7 9 11 18 20 9 10 11 12 13 14 15 16 2 3 5 10 13 14 19 22 1 2 3 4 4 7 11 18 5 6 7 8 1 6 9 20 1 2 7 18 3 4 4 11 5 6 9 20 7 8 1 6 9 10 11 12 5 14 19 22 13 14 15 16 2 3 10 13 9 10 19 22 11 12 5 14 13 14 2 3 15 16 10 13
  • 27. Β. Θεωρία 1. Αναδροµικοί Αλγόριθµοι 2. Ο αλγόριθµος ταξινόµησης MergeSort (4. Ανάλυση) 27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Η πολυπλοκότητα της συνάρτησης Merge είναι: Άρα η πολυπλοκότητα της MergeSort είναι: Η οποία είναι ιδαίτερα περίπλοκη γι΄αυτό θεωρούµε ότι Άρα απλοποιείται ως: Η οποία λύνεται από το Θ.Κυριαρχίας και προκύπτει: Τ(n)=Θ(nlogn)      >Θ+          +          ==Θ = 2),( 22 21),1( )( nn n T n T nήn nT 222 nnn ≈    =        >Θ+      ==Θ = 2),( 2 2 21),1( )( nn n T nήn nT )()( mnnT +Θ=
  • 28. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Για την επίλυση της αναδροµικής σχέσης T(n)=aT(n/b)+f(n) υπάρχουν δύο τρόποι: Το θεώρηµα κυριαρχίας, το οποίο µε εύκολο τρόπο µας δίνει µια ασυµπτωτική εκτίµηση της πολυπλοκότητας Η µέθοδος επανάληψης, µας δίνει την ακριβή συνάρτηση πολυπλοκότητας (άρα µπορούµε να εξάγουµε και ασυµπτωτική εκτίµηση). Συνεπώς: Αν µας ζητείται απλά η λύση της αναδροµής, προτιµάµε το θεώρηµα κυριαρχίας. Αν µας ζητείται ακριβής συνάρτηση πολυπλοκότητας απαιτείται η µέθοδος επανάληψης Αν µας ζητείται ασυµπτωτική εκτίµηση της συνάρτησης πολυπλοκότητας προτιµάµε το θεώρηµα κυριαρχίας Αν το θεώρηµα κυριάρχίας αποτύχει (µπορεί να συµβεί στην 2η συνθήκη της 3ης περίπτωσης του Θ.Κ.) τότε αναγκαστικά χρησιµοποιούµε την µέθοδο επανάληψης.
  • 29. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 1. Επίλυση µε το θεώρηµα κυριαρχίας 29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Το θεώρηµα Κυριαρχίας (Master Theorem) είναι το εξής: Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση όπου a≥1, b>1 είναι σταθερές, και f(n) είναι µια ασυµπτωτικά θετική συνάρτηση. Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις: Α) Αν για κάποια σταθερά ε>0, τότε: Β) Αν τότε: Γ) Αν για κάποια σταθερά ε>0 και για κάποια σταθερά c<1, τότε: )()( log ε− = ab nOnf )()( nf b n aTnT +      = ( )ab nnT log )( Θ= )()( log ab nnf Θ= ( )nnnT ab log)( log ⋅Θ= )()( log ε+ Ω= ab nnf )(nfc b n fa ⋅≤      ⋅ ( ))()( nfnT Θ=
  • 30. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 1. Επίλυση µε το θεώρηµα κυριαρχίας 30∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Για την επίλυση µε το θεώρηµα της κυριαρχίας εργαζόµαστε ως εξής: Εντοπίζουµε από την εκφώνηση τα a,b και f(n) Υπόλογίζουµε το logba. Συγκρίνουµε ασυµπτωτικά το f(n) µε την και: Αν είµαστε στην Α’ περίπτωση Αν είµαστε στην B’ περίπτωση Αν είµαστε στην Γ’ περίπτωση (ΠΡΟΣΟΧΗ! Ότι πρέπει να ελέγξουµε και την 2η συνθήκη) ab nnf log )( < ab nnf log )( = ab nnf log )( > ab nlog
  • 31. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 1. Επίλυση µε το θεώρηµα κυριαρχίας (Α’ περίπτωση) 31∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Εφόσον είµαστε στην Α’ περίπτωση διατυπώνουµε τελικά την απόδειξη σύµφωνα µε τον ορισµό: ΠΑΡΑ∆ΕΙΓΜΑ: Να λύσετε την αναδροµή: Λύση: Έχω: Ισχύει: για κάποια σταθερά ε>0 Άρα από την Α’ περίπτωση του Θεωρήµατος Κυριαρχίας έπεται ότι: n n TnT +      = 2 8)( )()( 3 ε− == nOnnf )()( 3 nnT Θ= 38loglog,)(,2,8 2 ===== annfba b
  • 32. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 1. Επίλυση µε το θεώρηµα κυριαρχίας (Β’ περίπτωση) 32∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Εφόσον είµαστε στην Β’ περίπτωση διατυπώνουµε τελικά την απόδειξη σύµφωνα µε τον ορισµό: ΠΑΡΑ∆ΕΙΓΜΑ: Να λύσετε την αναδροµή: Λύση: Έχω: Ισχύει: Άρα από την Β’ περίπτωση του Θεωρήµατος Κυριαρχίας έπεται ότι: 2 3 9)( n n TnT +      = )()( 22 nnnf Θ== )log()( 2 nnnT Θ= 29loglog,)(,3,9 3 2 ===== annfba b
  • 33. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 1. Επίλυση µε το θεώρηµα κυριαρχίας (Γ’ περίπτωση) 33∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Στην Γ’ περίπτωση πρέπει να ελέγξουµε και την 2η συνθήκη, δηλαδή να αναζητήσουµε c>0 τέτοια ώστε . Η εύρεση του εύρους τιµών για το c γίνεται αντικαθιστώντας τα a, b και την τιµή των f(n) και f(n/b). ΠΑΡΑ∆ΕΙΓΜΑ: Να λύσετε την αναδροµή: Λύση: Έχω: Ισχύει: για κάποια σταθερά ε>0 Ελέγχω αν υπάρχει c<1 τέτοιο ώστε: Άρα ισχύει για ½≤c<1. Άρα από την Γ’ περίπτωση του Θεωρήµατος Κυριαρχίας έπεται ότι: 3 2 4)( n n TnT +      = )()( 23 ε+ Ω== nnnf )()( 3 nnT Θ= 24loglog,)(,2,4 2 3 ===== annfba b )(nfc b n fa ⋅≤      ⋅ cccn n cn n ncf n fncf b n af ≤⇔≤⇔≤⇔≤      ⇔≤      ⇔≤      2 1 8 4 2 4 2 4)( 2 4)( 3 3 3 3 3
  • 34. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 2. Επίλυση µε την µέθοδο επανάληψης 34∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Η µέθοδος επανάληψης είναι µία µέθοδος υπολογισµού της συνάρτησης πολυπλοκότητας µιας αναδροµής της µορφής T(n)=aT(n/b)+f(n), η οποία γίνεται µε τα εξής βήµατα: ΒΗΜΑΤΑ ΤΗΣ ΜΕΘΟ∆ΟΥ ΕΠΑΝΑΛΗΨΗΣ 1. Κάνουµε 3 εφαρµογές της αναδροµικής σχέσης (Μέχρι να φτάσουµε στην µορφή ) 2. Εκτίµηση της σειράς που προκύπτει µετά από k επαναλήψεις (Μας καθοδηγεί ο όρος ) 3. Υπολογίζουµε πότε σταµατάει η αναδροµή (Θέτω όπου n0 η συνθήκη τερµατισµού της αναδροµής και λύνουµε ως προς k). Π.χ. αν n0=1 τότε k=logbn 4. Αντικατάσταση του k στον αναδροµικό τύπο του βήµατος 2. 5. Υπολογισµός του αθροίσµατος που προέκυψε. .......)( 3 +      ⋅= b n TnT .......)( +      ⋅= k b n TnT 0n b n k =
  • 35. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 1: 3 εφαρµογές του κανόνα) 35∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Στο 1ο βήµα εφαρµόζουµε τον αναδροµικό κανόνα 3 φορές και κάνουµε τις πράξεις που προκύπτουν. Βοηθητικά στο πρόχειρο, υπολογίζουµε τους αναδροµικούς όρους µε αντικατάσταση στην αναδροµή ΠΑΡΑ∆ΕΙΓΜΑ: Να λύσετε την αναδροµή: Λύση:     = >+      = 1,1 1, 3 5 )( n nn n T nT αν αν =+++      =++      +      = ++      =+      +      = +      = n nnn Tn nnn T n nn Tn nn T n n TnT 3 5 3 5 3 5 3 5 33 55 3 5 3 5 33 55 3 5)( 2 2 3 3 23 2 2 2 2 232 2 33 5 3 33 5 3 3 5)( nn T n T nn T n T n n TnT +      =      +      =      +      = ΠΡΟΧΕΙΡΟ
  • 36. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 2: Εκτίµηση στο βήµα k) 36∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Στο 2ο βήµα εκτιµάµε την σειρά που θα προκύψει µετά από k επαναλήψεις (Μας καθοδηγεί ο όρος (pσυνέχειαp) n nnnn T n nnn T k k k k +++++      = == =+++      = − − 3 5 3 5... 3 5 3 5 ... 3 5 3 5 3 5 2 2 1 1 2 2 3 3 .......)( +      ⋅= k b n TnT
  • 37. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 3: Υπολογισµός του k) 37∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Υπολογίζουµε πότε σταµατάει η αναδροµή (Θέτω όπου n0 η συνθήκη τερµατισµού της αναδροµής και λύνουµε ως προς k). (pσυνέχειαp) Η αναδροµή σταµατά όταν 0n b n k = nk kn n n n k k k 3 33 33 log 3loglog 3loglog 3 1 3 = ⇒= ⇒= ⇒= ⇒=
  • 38. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 4: Αντικατάσταση του k) 38∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Αντικαθιστούµε το k που βρήκαµε στην παράσταση που προέκυψε στο βήµα 2. Θα πρέπει να απαλειφθεί ο αναδροµικός όρος µε την συνθήκη τερµατισµού της αναδροµής. (pσυνέχειαp) Θέτοντας k=log3n στην Τ(n) έχουµε: ( ) n nnn n nnn T n nnnn TnT n nn n nn n n n n +++++= +++++= +++++      = − − − − − − 3 5 3 5... 3 55 3 5 3 5... 3 515 3 5 3 5... 3 5 3 5)( 2 2 1log 1loglog 2 2 1log 1loglog 2 2 1log 1log log log 3 33 3 33 3 3 3 3
  • 39. Γ. Μεθοδολογία Ασκήσεων 1. Η αναδροµή T(n)=aT(n/b)+f(n) 2. Επίλυση µε την µέθοδο επανάληψης (Βήµα 5: Υπολογισµός του αθροίσµατος) 39∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Υπολογίζουµε το άθροισµα που προκύπτει. Στην µέθοδο επανάληψης προκύπτει πάντα γεωµετρική πρόοδος στις σταθερές που εµφανίζονται και γι’ αυτό είναι χρήσιµη η σχέση: (pσυνέχειαp) Άρα nnn nn n n nnn n n nnn nT nn n n n i inn i i n n i i i nn i i in n nn n nn 5,166,15,15 166,1 166,1 5 66,15 3 5 5 3 5 5 3 55 3 5... 3 5 3 55 3 5 3 5... 3 55)( 33 3 3 3333 3333 3 33 3 33 loglog 11log log 1log 0 log1log 0 log 1log 0 log1log 0 log 1log 1log 2 2log 2 2 1log 1loglog −⋅⋅+= − − += =+=      += =+=+= =    +++++= =+++++= +− − = − = − = − = − − − − ∑∑ ∑∑ ∑= + − − = n i n i x x x 0 1 1 1 nnnT nn 5,166,15,15)( 33 loglog −⋅⋅+=
  • 40. ∆. Ασκήσεις Εφαρµογή 1 Υπολογίστε µία ασυµπτωτική εκτίµηση της πολυπλοκότητας των αναδροµών: 40∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) 4 3 2 2 8)() 2 8)() 2 8)() n n TnTC n n TnTB n n TnTA +      = +      = +      =
  • 41. ∆. Ασκήσεις Εφαρµογή 2 Λύστε τις αναδροµές: 41∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) 3 2 2 5)() 2 5)() n n TnTB n n TnTA +      = +      =
  • 42. ∆. Ασκήσεις Εφαρµογή 3 Υπολογίστε την ακριβή πολυπλοκότητα των αναδροµών: 42∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)     = >+      =     = >+      = 1,1 1, 3 4 )() 1,1 1, 2 6 )() 2 n nn n T nTB n nn n T nTA αν αν αν αν
  • 43. Παράρτηµα 1. Η µέθοδος της αντικατάστασης 3. Εντοπισµός Άνω Φράγµατος 43∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Στην µέθοδο της αντικατάστασης: «Μαντεύουµε» τη λύση της αναδροµής. Επαληθεύουµε ότι η λύση που µαντέψαµε είναι ορθή (µε µαθηµατική επαγωγή) αντικαθιστώντας την στον ορισµό του ασυµπτωτικού συµβολισµού. ΒΗΜΑΤΑ ΤΗΣ ΜΕΘΟ∆ΟΥ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ( π.χ. για ) 1. Μαντεύουµε (ή µας δίνεται) η λύση της αναδροµικής σχέσης. [πχ ] 2. Άνω Φράγµα: Επαληθεύουµε ότι βρίσκοντας κατάλληλα c1,n1 έτσι ώστε η σχέση να ισχύει επαγωγικά. 3. Κάτω Φράγµα: Επαληθεύουµε ότι βρίσκοντας κατάλληλα c2,n2 έτσι ώστε η σχέση να ισχύει επαγωγικά. 4. Συνεπώς ισχύει µε την επιλογή των c1,c2 και θέτοντας n0=max{n1,n2} Παρατήρηση: Η µαντεψιά της λύσης της αναδροµής: • Είτε εντοπίζεται λόγω µεγάλης εµπειρίας στη λύση αναδροµικών σχέσεων. • Είτε, συνηθέστερα, µας δίνεται στην εκφώνηση.
  • 44. Παράρτηµα 1. Η µέθοδος της αντικατάστασης 2. Παράδειγµα 44∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) ΠΑΡΑ∆ΕΙΓΜΑ 1: Να επαληθεύσετε ότι η λύση της αναδροµής: Τ n 2 , 1 1. 0 1 είναι Τ n Θ nlogn Λύση: Κάτω Φράγµα: Αναζητούµε $ , 0 έτσι ώστε: Τ n 2 % 2c '() c log * log 2 c '() * $ % c '() 1 * $ Συνεπώς απαιτείται 1 * $ % 0, έτσι ώστε: Τ n % $ '() , άρα πρέπει $ 1, ώστε: Τ % c '() Για την βάση της επαγωγής: • n 1: Τ 1 1 % $ ⋅ 1 ⋅ log 1 0. Ισχύει για ./01 $ • n 2: Τ 2 4 % $ ⋅ 2 ⋅ log 2 $ ⋅ 2. Ισχύει για $ 2 • n 3: Τ 3 10 % $ ⋅ 3 ⋅ log3 $ ⋅ 4,75. Ισχύει για $ 2,1. Συνεπώς ισχύει για % 1, c 1.
  • 45. Παράρτηµα 1. Η µέθοδος της αντικατάστασης 2. Παράδειγµα 45∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) ΠΑΡΑ∆ΕΙΓΜΑ 1: Να επαληθεύσετε ότι η λύση της αναδροµής: Τ n 2 , 1 1. 0 1 είναι Τ n Θ nlogn Λύση(;συνέχεια;): Άνω Φράγµα: Αναζητούµε $6, 6 0 έτσι ώστε: Τ n 2 2c6 '() c6 log * log 2 c6 '() * $6 c6 '() 1 * $6 Συνεπώς απαιτείται 1 * $6 0, έτσι ώστε: Τ n $6 '() , άρα πρέπει $6 % 1, ώστε: Τ c6 '() Για την βάση της επαγωγής: • n 1: Τ 1 1 $6 ⋅ 1 ⋅ log 1 0. ∆εν ισχύει. • n 2: Τ 2 4 $6 ⋅ 2 ⋅ log 2 $6 ⋅ 2. Ισχύει για $6 % 2 • 3: Τ 3 10 $6 ⋅ 3 ⋅ log 3 $6 ⋅ 4,75. Ισχύει για $6 % 2,1. Συνεπώς ισχύει για 6 % 2, $6 % 2,1 Άρα T n Θ nlogn µε 8 % 2, c6 % 2,1, c 1.
  • 46. Παράρτηµα 1. Η µέθοδος της αντικατάστασης 3. Εντοπισµός Άνω Φράγµατος 46∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) Πιο συχνή είναι η εφαρµογή της µεθόδου αντικατάστασης για τον εντοπισµό άνω φράγµατος. Θα δούµε µερικά παραδείγµατα: ΠΑΡΑ∆ΕΙΓΜΑ 2: Να επαληθεύσετε ότι για την αναδροµική σχέση: Τ n 2 , 1 1. 1 ισχύει Τ n O nlogn Λύση: Τ n 2 2$ '() 2$ '() $ '() $ '() * $ '()2 $ '() 1 * $ Άρα πρέπει c % 1 Για την βάση της επαγωγής: • n 1: Τ 1 1 $ ⋅ 1 ⋅ log 1 0. ∆εν ισχύει. • n 2: Τ 2 4 $ ⋅ 2 ⋅ log 2 $ ⋅ 2. Ισχύει για $ % 2 • n 3: Τ 3 5 $ ⋅ 3 ⋅ log 3 $ ⋅ 4,75. Ισχύει για $ % 1,05. Συνεπώς ισχύει για 8 % 2, $ % 2.
  • 47. Παράρτηµα 1. Η µέθοδος της αντικατάστασης 3. Εντοπισµός Άνω Φράγµατος 47∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n) ΠΑΡΑ∆ΕΙΓΜΑ 3: Να επαληθεύσετε ότι για την αναδρ. σχέση: Τ n 1 µε Τ 1 1, ισχύει Τ n Ο n Προσπάθεια Λύσης: Αναζητούµε $, 8 0 έτσι ώστε: Τ n 1 $ $ 1 $ 1 Αποτυχία επίλυσης, διότι έπρεπε Τ n cn Λύση: Μαντεύουμε ότι $ * F Τ n 1 $ * F $ * F 1 $ * 2F 1 Αρκεί λοιπόν *2F 1 G 0 άρα F 6 . Π.χ. για b=1/2 ισχύει για κάθε $ % 0. Για την βάση της επαγωγής: • n 1: Τ 1 1 $ ⋅ 1. Ισχύει για c % 1. • n 2: Τ 2 3 $ ⋅ 2. Ισχύει για $ % 1,5 • 3: Τ 3 5 $ ⋅ 3. Ισχύει για $ % 1,67. Συνεπώς ισχύει για % 1, $ % 1,67 Άρα T n Θ nlogn µε 8 % 2, c6 % 2,1, c 1.
  • 48. Ασκήσεις Εφαρµογή 4 Έστω αναδροµικός αλγόριθµος που για να επιλύσει ένα πρόβληµα µε n δεδοµένα, επιλύει 3 υποπροβλήµατα µε n/3 δεδοµένα και έπειτα συνδυάζει τις λύσεις σε χρόνο 12n. Λύστε την αναδροµική σχέση που εκφράζει την πολυπλοκότητα του προβλήµατος. Επαληθεύστε την απάντηση για τον χρόνο εκτέλεσης, µε τη µέθοδο της αντικατάστασης, προσδιορίζοντας επακριβώς τη σταθερά n0 και εκείνες (c1, c2) του ασυµπτωτικού συµβολισµού. Ως αρχική συνθήκη, ισχύει ότι Τ(x)=1, για κάθε 0≤x≤1 48∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 1.4: Η αναδροµική σχέση T(n)=aT(n/b)+f(n)