Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

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

Εργασια 1 - Τουρνης Ιωαννης - sdi2000192

27 Μαρτίου 2022

1 Ασκηση 1

F1 (n) = n n! √ √
Εχω οτι n! < nn οποτε => n n! < n nn < n
Αρα θα ισχυει F1 (n) = O(n)

F2 (n) = 17 + (−1)n
Αν n περιττο F2 (n) = 17 − 1 = 16
Αν n αρτιο F2 (n) = 17 + 1 = 18
Αρα εχω οτι F2 (n) = O(1)

P∞ 1
− 1)n = ( ∞
Pn 1 n
P 1 i n 1 n
F3 (n) = ( i=1 4 i ) ≤ ( i=0 4i i=0 ( 4 ) − 1) = ( 1− 1 − 1) =
4
( 13 − 1)n = ( 43 − 33 )n = ( 13 )n
4

P∞ 1
αφου i=0 (x
i
) = ( 1−x ) , οποτε F3 (n) = O( 31 )

Pn 3 i n
F4 (n) = i=1 (( 4 ) )

F4 (n) ≤ ( ∞ 3 i n 1 n n n
P
i=0 ( 4 ) − 1) = ( 1− 3 − 1) = (4 − 1) = 3
4

Αρα εχω οτι F4 (n) = O(3n )

Pn
Εχω F5 (n) = i=1 (i + log2 i) = 1 + 3 + 4, 5 + 6 + 7, 3 + . . .

1
Pn Pn Pn
Ισχυει i=1 (i + log2 i) ≤ i=1 (i + i) = i=1 (2i)

Pn
Οποτε θα εχω i=1 (i + log2 i) = O(2n).

√ √
log2 n n
1
1
log2 n
F6 (n) = log2 n
n×n = n log2 n × nn = 2 × n2 = O(n2 )
1 1
Εφοσον ισχυει : n n ≤ n log2 n = 2


n 2 2 2 ×log n log2 n
log2 n n
n2
F7 (n) = 2 = 2n n = 22 = 22 n 2
= 22 n

Υπολογιζω το οριο limx→∞ ( logn2 n ) = 0


0
Αρα εχω οτι : F7 (n) = 22 = 21 = 2 , Οποτε Ο(1) .

log2 n
F8 (n) = nlog2 n = 2log2 n = 2log2 n×log2 n = 2log2 n + 2log2 n = 2n = O(2n)

Οποτε καταλήγουμε στα :


F1 (n) = O(n)
F2 (n) = O(1)
F3 (n) = O( 13 )
F4 (n) = O(3n )
F5 (n) = O(2n)
F6 (n) = O(n2 )
F7 (n) = O(1)
F8 (n) = O(2n)

Αρα η σειρα των συναρτησεων σε αυξουσα ταξη ειναι :


F3 (n) < F7 (n) < F2 (n) < F5 (n) < F1 (n) < F8 (n) < F6 (n) < F4 (n)

2 Ασκηση 2

Α) ΛΑΘΟΣ ,
Εστω f (n) = 5 και g(x) = sin x + 6.
Ισχυει f (n) ≥ g(n) Αλλα δεν ισχυει f (n) ≥ g(n) => f (n) = o(g(n))

2
Απτο σχημα φαινεται οτι υπαρχουν απειρα σημεια τα οποια οι συναρτησεις
f (x), g(x) τεμνονται.

Β) ΣΩΣΤΟ ,
Εστω f (x) = 2022 × g(x) + 22022 .

Παρατηρουμε οτι οι αριθμοι 2022 και 22022 ειναι απλες σταθερες ,


οποτε οσο μεγαλωνει το n και τεινει προς το απειρο τοσο μικροτερη ειναι η σημασια
τους και μπορουμε να τους αγνοησουμε. Η f (x) ειναι Θ(g(x)) , οποτε προφανως θα
ισχυει g(x) = O(g(x)) αρα θα υπαρχει μια σταθερα c τετοια ωστε να ισχυει
f (n) ≤ c × g(x) αρα θα ισχυει f (x) = O(g(x)).

Γ) ΣΩΣΤΟ , αφου
2
n2 × log2 n = n2 × log2 n = log2 (nn ), log2 (n!)
2 2
Προφανως ισχυει n! < nn εφοσον nn = n×(n−1)×(n−2)×· · ·×1) <
(n × n × · · · × n) × (n × n × · · · × n)

3
Αρα log2 (n!) = o(n2 × log2 n)

Δ) ΛΑΘΟΣ ,
√ √
Εστω f (x) = n + 2 n και g(x) = n n για να ισχυει f (x) = Ω(g(n))
θα πρεπει f (x) ≥ c × g(x) για καθε c, k > 0
ΑΝΤΙΠΑΡΑΔΕΙΓΜΑ :
για χ=1 εχω f (1) > g(1) = 1 + 2 ∗ 1 > 1 ∗ 1 = 3 > 1 και για χ=16 εχω
f (16) < g(16) = 16 + 2 ∗ 4 < 16 ∗ 4 = 24 < 64

4
Ε) ΛΑΘΟΣ , αφου
f (n)
limn→∞ ( 33g(n) ) = limn→∞ ( 3g(n)−f
1
(n) ) = 0

Αρα f (n) = og(n).

5
3 Ασκηση 3

F1 (n) = nlog2 n + 2n + n2 =>


2
F1 (n) = 2log n + 2n + n2 =>
2
F1 (n) = 2log n + 2n + 4log2 n = Θ(2n )
k
Αρα ανηκει στην κατηγορια Θ(mn ) με m = 2 και k = 1.
Pn √
k

k
F2 (n) = log2 n k=1 k για ολα τα k ≥ 1 ισχυει οτι k ≤ 2n.
Pn √
k Pn √
k
Οποτε k=1 k ≤ 2n => log2 n k=1 k ≤ log2 n × 2n
1 1
Επισης F2 (n) = log2 n × k k ≤ log2 n × k log2 k = 2log2 n
√k Pn √ k Pn √ k
Οποτε
Pn k ≥ 1 <=> k=1 k ≥ n <=> log 2 n × k=1 k ≥ 1 <=>
k=1 ≥ n × log2 n
Αρα ανηκει στην κατηγορια Θ(nk × log2m n) με k = 1 και m = 1.
Pn 1
F3 (n) = k=1 k = log2 n = Θ(log2 n)

Αρα ανηκει στην κατηγορια Θ(nk ×log2m n) με k = 0 και m = 1.

F4 (n) = 2log2 n = n

Αρα ανηκει στην κατηγορια Θ(nk ×log2m n) με k = 1 και m = 0.

4 Ασκηση 4

Οι Συναρτησεις F1 (n) = 2n , F2 (n) = nlog2 n, F3 (n) = log2 n, F4 (n) = n


Ταξινομημενες θα ειναι :

F3 (n) = log2 n
F4 (n) = n

6
F2 (n) = nlog2 n
F1 (n) = 2n

5 Ασκηση 5
Pn
i=1 (i × Pi ) = P1 + P2 + · · · + Pn =

(n−2)∗1 3 3 1 6 1 3
4∗(n−2) + 8 + 8 = 4 + 8 = 4 + 4 =1
Pn
Ξερουμε οτι i=1 (i × Pi ) = 1 οποτε το στοιχειο θα υπαρχει
στον πινακα.

Pn 3 3 1
Pn−2
i=1 (i × Pi ) = n × ( 8 ) + (n − 1) × ( 8 ) + ( 4(n−2) ) × i=1 (i × Pi ) =

3(n−1) (n−2)(n−1)
( 3n 1
8 ) + ( 8 ) + ( 4(n−2) ) × ( 2 ) = ( 3n+3n−3
8 ) + ( (n−2)(n−1)
8(n−2) ) =

( 6n−3+n−1
8 ) = ( 7n−4
8 ) = O(n)

6 Ασκηση 6
6.1 Αλγοριθμος 1
Pn P2n2 P2n
P = i=1 × j=1 × k=1 ×0(1) =
Pn P2n2 2n
P = i=1 × j=1 ×( 4 + 1) × 0(1) =
Pn
P = 2
i=1 ×(n ) × ( n2 + 1) × 0(1) =

P = (n) × (n2 ) × ( n2 + 1) × 0(1) =

P = O(n4 )

7
6.2 Αλγοριθμος 2
P n2 P2n2 Pn
1) P1 = i=1 × j=0 × k=( n4 ) ×O(1)

2
P1 = ( n2 + 1) × ( 2n2 + 1) × ( 3n
4 + 1) × O(1)

P1 = . . . . . .

4
+10n3 +11n2 +10n
P1 = ( 3n 8 + 1) × O(1)

4
10n3 11n2
P1 = ( 3n8 + 8 + 8 + 10n
8 ) × O(1)

P1 = O(n4 )

Pn−1 Pn∗i Pj
2)P2 = i=1 × j=1 × k=1 ×O(1)

Pn−1 Pn∗i
P2 = i=1 × j=1 ×n(n − 1) × O(1)
Pn−1
P2 = i=1 ×n(n − 1) × n(n − 1) × O(1)

P2 = (n − 1) × (n2 − n) × (n2 − n) × O(1)

P2 = (n5 − n4 − n4 + n3 − n4 + n3 + n3 − n2 ) × O(1)

P2 = (n5 − 3n4 + 3n2 − n2 ) × O(1)

P2 = O(n5 )

Pn−1 Pn−1 Pn
3)P3 = i=0 × j=i+1 × k=1 ×O(1)

8
P3 = n × (n − 2) × n × O(1)

P3 = n3 − 2n2 × O(1) = O(n3 )

P = P1 + P2 + P3 = O(n4 ) + O(n5 ) + O(n3 ) = O(n5 )

You might also like