Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практика 2(СД)

.docx
Скачиваний:
1
Добавлен:
08.10.2025
Размер:
184.01 Кб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение

высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

АЛГОРИТМИЧЕСКАЯ СЛОЖНОСТЬ

Отчёт по практической работе №2

по дисциплине «Структуры данных»

Студент гр. 714-1

_______ И.С. Максимов

__.__.2025

Доцент кафедры КИБЭВС

_______ Е.Е. Лунёва

__.__.2025

Томск 2025

Содержание

Введение 3

1. Ход работы 4

Заключение 8

ОШИБКИ: В работе представлены графики на рисунке 1.2. К сожалению, они не наглядны и представленные выводы в тексте по ним сделать нельзя. Например, на рисунке, связанном с быстрой сортировкой, есть кривая, число операций - что это за кривая не понятно. В тексте пояснений нет. Также присутствует кривая quicksort -  по всей видимости это и есть экспериментальная кривая быстрой сортировки. 

Смотрим выводы, в тексте идет отсылка об алгортимической оценке  y=n log(n). К сожалению, по тексту не называется, что эта оценка О - верхняя, как того требует задание. Но даже если так, по графикам этого не видно. По графикам ,голубая линия должна быть выше экспериментальной кривой. А голубую линию вообще не видно. Получается выводы не соответствуют экспериментам.

 

Для соответствия, либо нужно было дополнительно представить фрагменты графиков, либо логарифмировать оси, либо делать другие выводы, которые соответствуют тому, что предсталено. 

Остальные графики тоже самое. 

Выводы не соответствуют экспериментальным данным.  

Введение

Цель практической работы: изучить алгоритмическую сложность сортировки расческой, быстрой сортировки и сортировки выбором. Сравнить зависимость количества операций и времени от длины массива, и проанализировать лучшие и худшие варианты.

  1. Ход работы

Для выяснения зависимости числа операций и времени операций для сортировки расческой, быстрой сортировки и сортировки выбором, данные по сортировкам, а также худшие и лучшие варианты и эталонные функции были выведены в файл (рисунок 1.1). Также эти данные представлены в таблице 1.

Таблица 1 – Данные о количестве операций и времени сортировок

Элементов в массиве

Операций

в

сортировк е

расческой

Операций в быстрой

сортировк

е

Операций

в

сортировк е выбором

Время сортировк и расческой, мс

Время быстрой сортиров ки, мс

Время сортировки выбором, мс

1

0

0

0

101

7

5

2

2

3

2

98

5

4

3

5

8

4

70

2

1

4

8

14

8

64

4

3

5

12

23

13

62

5

3

10

48

59

53

66

9

6

15

85

96

117

18

15

12

20

146

150

205

26

20

16

25

208

190

319

38

24

21

30

258

230

463

47

29

30

40

428

331

816

64

41

43

50

584

447

1269

92

52

63

75

959

719

2848

137

87

90

100

1500

1003

5045

200

121

137

150

2571

1642

11320

312

187

248

200

3640

2475

20095

502

264

337

250

4773

3053

31369

669

329

442

300

6047

3798

45139

850

392

652

400

8627

5152

80190

1235

537

970

500

11367

7065

125240

1733

686

1350

600

14207

8058

180296

2303

824

2221

800

19843

11316

320394

3928

1194

3369

1000

25880

14439

500495

4966

1358

3731

Рисунок 1.1 – Данные о сортировках в файле

Затем, были созданы графики по количеству операций и времени относительно числа сортируемых элементов (рисунок 1.2) На графики с операциями также были внесены эталонные функции: y=n, y=n log(n), y=n^2, y=n^3.

Рисунок 1.2 – Графики зависимостей

Согласно данным графикам, форма зависимости числа операций от количества элементов в массиве у сортировки расческой и быстрой сортировки больше совпадает с эталонной функцией y=n log(n), тогда как у сортировки выбором происходит резкий скачок числа операций, больше совпадающий с функцией y=n^2.

Данные результаты соответствуют лучшему случаю сортировки расческой, среднему случаю быстрой сортировки и худшему случаю сортировки выбором.

Также были сделаны лучшие и худшие случаи сортировок массива из 100 элементов. Лучший случай – отсортированный массив, худший – отсортированный в обратном порядке массив. Результаты по количеству операций и времени представлены в таблице 2, 3.

Таблица 2 – Лучший случай сортировок

Количеств о операций

Операций

в

сортировк е

расческой

Время в сортировк е

расческой, мс

Операций в быстрой

сортировк

е

Время в

быстрой

сортировке

, мс

Операций

в

сортировк е выбором

Время в сортировк е выбором, мс

100

1233

52

669

24

1006

27

Таблица 3 – Худший случай сортировок

Количеств о операций

Операций

в

сортировк е

расческой

Время в сортировк е

расческой

Операций в быстрой

сортировк

е

Время в

быстрой

сортировк

е

Операций

в

сортировк е выбором

Время в сортировк е выбором

100

1339

67

722

29

1882

57

Результаты лучшего и худшего случая не совпадают с обычным: они получились лучше.

Заключение

В ходе работы была изучена алгоритмическая сложность на примере сортировки расческой, быстрой сортировки и сортировки выбором.

Количество операций увеличивается пропорционально соответствующим алгоритмическим сложностям сортировок (лучший случай для сортировки расческой, средний случай для быстрой сортировки и худший случай для сортировки выбором), однако в худшем и лучшем варианте получившиеся значения не соответствуют расчетным.

Соседние файлы в предмете Структуры данных