25
В другу групу входять Quick, Counting, Merge, Heap sorts. Heap sort показав гірші результати ніж інші алгоритми групи. Quick sort в свою чергу швидкий та стабільний алгоритм . Counting sort працює за лінійний час, майже незалежно від кількості даних він юуде працювати майже однаково. Це погано якщо на сортування подається мало даних, але як можна побачити на графіку ,всже післе 100000 елементів Counting sort показує гарну швидкість яка буда доречна при великих об’ємах даних.
2.1. Реверсивно відсортовані дані, I-група
|
|
|
Reversed data |
(I-group) |
|
|
50 |
|
|
|
|
|
45 |
|
|
|
|
|
40 |
|
|
|
|
(seconds) |
35 |
|
|
|
|
30 |
|
|
|
|
|
25 |
|
|
|
|
|
20 |
|
|
|
|
|
Time |
|
|
|
|
|
15 |
|
|
|
|
|
|
10 |
|
|
|
|
|
5 |
|
|
|
|
|
0 |
|
|
|
|
|
10 |
100 |
1000 |
10000 |
100000 |
N-elements (array size)
Selection sort Insertion sort Shaker sort Counting sort
Time (seconds)
Reversed data (I-group)
50
45
40
35
30
25
20
15
10
5
0
10 |
100 |
1000 |
10000 |
100000 |
Selection sort
Insertion sort
Shaker sort
Counting sort
N-elements (array size)
Можему бачити таку саму картину. |
|
|
|
||
2.2. Реверсивно відсортовані дані, II-група |
|
|
|||
|
|
Reversed data |
(II-group) |
|
|
0.4 |
|
|
|
|
|
0.35 |
|
|
|
|
|
0.3 |
|
|
|
|
|
0.25 |
|
|
|
|
|
0.2 |
|
|
|
|
|
0.15 |
|
|
|
|
|
0.1 |
|
|
|
|
|
0.05 |
|
|
|
|
|
0 |
|
|
|
|
|
10 |
100 |
1000 |
10000 |
100000 |
1000000 |
26
Quick sort
Counting sort
Merge sort
Heap sort
|
Reversed data |
(II-group) |
|
0.4 |
|
|
|
|
|
|
|
0.35 |
|
|
|
|
|
|
|
0.3 |
|
|
Quick sort |
|
|
||
0.25 |
|
|
|
|
|
Counting sort |
|
|
|
|
|
0.2 |
|
|
Merge sort |
|
|
||
|
|
|
Heap sort |
0.15
0.1
0.05
0
10 |
100 |
1000 |
10000 |
100000 |
1000000 |
Майже ніякої різниці.
3.1. Частково відсортовані дані, I-група
Half-sorted data (I-group)
|
0.35 |
|
|
|
|
|
|
|
0.3 |
|
|
|
|
|
|
|
0.25 |
|
|
|
|
|
|
(seconds) |
0.2 |
|
|
|
|
|
|
0.15 |
|
|
|
|
|
|
|
Time |
0.1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.05 |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
0 |
20000 |
40000 |
60000 |
80000 |
100000 |
120000 |
N-elements (array size)
27
Selection sort
Shaker sort
Counting sort
Time (seconds)
Half-sorted data (I-group)
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
10 |
100 |
1000 |
10000 |
100000 |
Selection sort
Insertion sort
Shaker sort
Counting sort
N-elements (array size)
28
На частково відсортованих даних для даних сортувань можемо бачити схожі результати, але шейкерне сортування сповільнилось, а сортування вставками на його фоні трохи збільшило швидкість сортування. Досить зрозуміла повеінка. 3.2. Частково відсортовані дані, II-група
Half-sorted data (II-group)
0.4 |
|
|
|
|
|
0.35 |
|
|
|
|
|
0.3 |
|
|
|
|
|
0.25 |
|
|
|
|
|
0.2 |
|
|
|
|
|
0.15 |
|
|
|
|
|
0.1 |
|
|
|
|
|
0.05 |
|
|
|
|
|
0 |
|
|
|
|
|
10 |
100 |
1000 |
10000 |
100000 |
1000000 |
Quick sort Counting sort Merge sort Heap sort
|
|
|
|
|
|
Half-sorted data |
(II-group) |
|
|
|
||||
0.4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Quick sort |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Counting sort |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Merge sort |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Heap sort |
0.15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.05 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
100 |
1000 |
10000 |
100000 |
1000000 |
|
||||||||
Нічого незвичайного
4.1. Відсортовані дані, I-група
Sorted data (I-group)
|
0.25 |
|
|
|
|
|
|
|
0.2 |
|
|
|
|
|
|
(seconds) |
0.15 |
|
|
|
|
|
|
0.1 |
|
|
|
|
|
|
|
Time |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.05 |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
0 |
20000 |
40000 |
60000 |
80000 |
100000 |
120000 |
N-elements (array size)
29
Selection sort
Shaker sort
Counting sort
Time (seconds)
Sorted data (I-group)
0.25
0.2
0.15
0.1
0.05
0
10 |
100 |
1000 |
10000 |
100000 |
Selection sort
Series1
Shaker sort
Counting sort
N-elements (array size)