Лабы 2 Семестр / 0207 Маликов БИ Лабораторная работа №4
..pdf4. Составим в Excel таблицу из четырех строк (i=1, 2, 3, 4), включив столбики с размерностью вектора, временем выполнения сортировки и количеством вызовов функции quicksort:
|
S(n) |
t, c |
cm |
|
|
|
|
1 |
104 |
0,243428 |
50 |
2 |
105 |
1,161511 |
50 |
3 |
106 |
14,273 |
50 |
4 |
107 |
139,7442 |
50 |
Также, дополнительно построим график для 5 первых векторов:
|
S(n) |
t, c |
cm |
1 |
80 |
0,048272 |
38 |
2 |
100 |
0,054458 |
42 |
3 |
150 |
0,063415 |
46 |
4 |
200 |
0,075983 |
49 |
5 |
250 |
0,092237 |
50 |
5. Рассчитаем коэффициенты: KN=Nj/Ni, Kt=tj/ti для комбинаций i-i (1-2, 1-3, 1-4). Установим закономерность изменения времени сортировки от изменения размерности вектора (Kt ~ KN):
i-j |
KN |
Kt |
|
|
|
1-2 |
10 |
4,8 |
|
|
|
1-3 |
100 |
58,6 |
|
|
|
1-4 |
1000 |
574,1 |
|
|
|
Вывод.
В ходе данной лабораторной работы был изучен алгоритм быстрой сортировки (quicksort). Был построен график зависимости количества вызовов функции quicksort от значения вектора. Было определено, что при малой размерности вектора быстрая сортировка происходит примерно в одном временном диапазоне. Однако, начиная со значения 104 время выполнения сортировки начинает увеличиваться. При этом, сравнивая коэффициенты Kt и KN, можно понять, что с увеличением размерности вектора время сортировки линейно увеличивается. Также, было определено, что при увеличении значения вектора количество вызовов функции увеличивается, но начиная со значения 104 становится равным 50.
11
