Материал: GrozI_Course_Work

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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)