Вы находитесь на странице: 1из 9

Технический университет Молдовы

Анализ и проектирование алгоритмов

ОТЧЕТ
ПО ЛАБАРАТОРНОЙ РАБОТЕ №1
СРАВНЕНИЕ ВРЕМЕНИ РАБОТЫ
АЛГОРИТМОВ

Работу выполнил: студент группы TI-155

Топал Егор

Проверил: преподаватель APA

Скороходова Т.А.

Кишинев 2016
Задание:

1. Пусть имеется алгоритм, решающий задачу размера n за f(n) секунд. Каков максимальный
размер задачи, которую он сможет решить за время t? Найти его для функций и времён,
перечисленных в таблице.

# 1 2 4 8 16 32

11 log n 0 1 2 3 4 5

12 ln n 0 0.69 1.38 2.07 2.77 3.46

10 √n 1 1.4 2 2.82 4 5.65

8 n 1 2 4 8 16 32

14 1/n 1 0.5 0.25 0.125 0.062 0.031

6 n log n 0 2 8 24 64 160

5 n2 1 4 16 64 256 1024

4 n3 1 8 64 512 4096 32768

3 2n 2 4 16 256 65536 42949¿ 105

2 n! 1 2 24 40320 20922¿ 109 26313*1031

9 n / log n 1 2 2 2.66 4 6.4

13 log log n - 0 1 1.58 2 2.32

7 log (n!) 0 1 4.58 15.29 44.25 117.66

1 nn 1 4 256 16 777*103 18446¿ 1015 14615*1044


600
n
n
500

400
n
300 2n
200

100

2 3 4 5 6

1000
n3
800 n2
n log 2 n
600

400

200

4 6 8 10 12 14
60

50
log 2 n
40
n
30

20

10

5 10 15 20

n
15
lo g 2 n

n
10
log n

0
20 40 60 80 100
n
25
lo g 2 n
20
n
15

10

50 100 150 200

0.10
1
0.08 n

0.06
1
n2
0.04

0.02

0 20 40 60 80 100
2. Сравнение алгоритмов

Для всех клеток следующей таблицы ответьте «да» или «нет» на вопрос о том,
можно ли записать А как Ơ, ơ, Ω, ω или Θ от В (k≥1, ε>0, c, m>1 – некоторые константы).

Положим k=2, ε=3, c=4, m=8

Ơ A B Ơ ơ Ω ω Θ

1 Log2 n n3 да да нет нет нет

2 n2 4n да да нет нет нет

3 √n nsin n нет нет нет нет нет

4 2n 2n/2 нет нет да да нет

5 nlog 8 8log n да да да да да

6 log (n!) log (nn)

C 1B < A < C 2B

1)

C 1 n3 < log [2, n]< C2 n3

log [2 , n]
C 1< 3
<C2
n

log [2 , n] 1 1
n=2=¿ = 3 = =C 2
n3 2 8

log ⁡(n)
C 1−? lim = 0 => ∄C 1> 0 удовлетворяющего условиям => A =
n→∞ n3 log ⁡(2)
ơ(B)

2)
n 2 n
C 1 4 <n <C 2 4
2
n
C 1< n
< C2
4

n2 1
n=1=¿ = =C 2
4n 4

lim 4−n n2 = 0 => ∄C 1> 0 удовлетворяющего условиям => A=ơ(B)


n→∞
3)
sin ⁡(n) sin ⁡( n)
C1n < √ n<C 2 n

C 1< √ n <C
sin ⁡( n) 2
n

Так как sin(n) – периодическая функция, колеблющаяся между 0 и 1, => nsin ⁡( n) так же
функция периодическая, принимающая значения между 0 и n, и, соответственно, A не
является ни Ơ, ни Ω, ни Θ от B.

20
n
n s in n
15

10

20 40 60 80

4)
n n
n
C 1 2 2 <2 <C 2 2 2
n
2
C 1< n
< C2
2
2

2n
n=2 , n
=2=¿ C 1=2
2
2
n
lim 2
n →∞
n
= ∞ => ∄C 2 удовлетворяющего условиям
2
2
n
2
lim 2
n →∞ ω(B)
n
= 0=¿ A=¿
2
5)

C 1 8 log ⁡(n )< nlog ⁡( 8) <C 2 8 log ⁡(n)


3
log ⁡(n ) 3 log ⁡(n) log ⁡( n ) 3
8 =2 =2 =n
log ⁡(8 ) 3
n =n

Т.О. A = B, A = Θ(B)

6)

C 1 log ⁡(n¿¿ n)<log ⁡(n !)< C2 log ⁡( n¿¿ n)¿ ¿

log ⁡(n !)
C 1< n
<C 2
log ⁡(n )

log ⁡(n !) log ⁡(2 !) 1 1


n=2 , = = ,C 1=
log ⁡(n ) log ⁡(2 ) 2 2
n 2

log ⁡(n !)
lim n
=1−?
n → n0 log ⁡(n )
3. Сравнение скорости роста

Расположите следующие функции в порядке увеличения скорости роста и


отметьте, какие из этих функций на самом деле имеют одинаковую скорость роста
(каждая функция есть Ơ (следующая)) и отметьте, какие из этих функций на самом деле
имеют одинаковую скорость роста ( одна есть Θ от другой):

1. 2log m (√2) log m

2. 22**n 22**n+1

3. n! (n+1)!

4 log (n!) (log n)!

5. (3/2)n en n*2n

6. n 2n n3 n2

7. n1/ log n n log log n (log n) (log n)

8. ln n ln ln n

9. 4 log n log2 n n log n

10. `√ (log n) 2√ (2log n)

Вам также может понравиться