∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ8 1
ΠΛΗ30 – ΤΕΣΤ8
Ασκηση 1
(A) Ιεραρχήστε τις παρακάτω συναρτήσεις σε αύξουσα σειρά ασυµπτωτικής
πολυπλοκότητας:
( )
n
nn
nn
n
nf
nnnf
nnnf
nnnf
nnf
3
log
5
4
3
10/33/1
2
2
1
2)(
loglogloglog)(
log)(
)(
510)(
=
+=
+=
+=
+=
∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ8 2
(Β) Να λύσετε τις αναδροµές:
2
5
2
11
3
)()1( n
n
T
n
TnT +
+
=
2
2
7)()2( n
n
TnT +
=
3
2
7)()3( n
n
TnT +
=
( ) 431)()4( ++−= nnTnT
Στη συνέχεια, να διαταχθούν οι λύσεις τους κατά αύξουσα τάξη µεγέθους.
Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση T(n) = aT(n/b) + f(n), όπου a≥1, b>1 είναι σταθερές, και
f(n) είναι µια ασυµπτωτικά θετική συνάρτηση. Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις:
log log
( ) ( ), ( )b ba a
(1) αν f n O n για κάποια σταθερά ε>0, τότε T(n) = nεεεε−−−−
= Θ= Θ= Θ= Θ
log log
( ) ( ), ( log )b ba a
(2) αν f n n τότε T(n) = n n= Θ Θ= Θ Θ= Θ Θ= Θ Θ
log
( ) ( ), ,
( ( )).
b a
0
0
(3) αν f n n για κάποια σταθερά ε>0, και αν υπάρχει σταθερά n τέτοια
n
ώστε, για κάθε n n , af cf(n) για κάποια σταθερά c<1, τότε T(n) = f n
b
εεεε++++
= Ω= Ω= Ω= Ω
≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ
∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ8 3
Ασκηση 2
Ξεκινώντας από έναν αριθµό n, µπορούµε να καταλήξουµε στον αριθµό 1 εκτελώντας µία ακολουθία από τις
παρακάτω πράξεις: αφαίρεση του 1, διαίρεση µε το 2, διαίρεση µε το 3, διαίρεση µε το 5, διαίρεση µε το 7. Μία
διαίρεση µπορεί να γίνει µόνο αν είναι τέλεια.
A) Σχεδιάστε & αναλύστε αλγόριθµο ∆υναµικού Προγραµµατισµού ο οποίος µε είσοδο έναν αριθµό n θα
υπολογίζει το µήκος της ελάχιστης ακολουθίας επιτρεπτών πράξεων που απαιτούνται για να µετατραπεί σε 1 µε
τη διαδικασία που περιγράφεται παραπάνω.
B) Τρέξτε τον αλγόριθµο για n= 8.