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

СД Практика 2

.pdf
Скачиваний:
0
Добавлен:
17.06.2025
Размер:
465.18 Кб
Скачать

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

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

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

АЛГОРИТМИЧЕСКАЯ СЛОЖНОСТЬ Отчет по практической работе №2 по дисциплине «Структуры данных»

Студент гр. 7х3-х

_______ ххххххх

_______

Принял: Преподаватель КИБЭВС

_______ Уразаев Д.Р.

_______

Томск 2024

Задание

Сгенерировать массивы заданной длины. Последовательно задайте длину массивов 1, 2, 3, 4, 5, 10, 15, 20,25, 30, 40,50, 75, 100,150,200,250, 300, 400, 500, 600, 800, 1000. Отсортировать все массивы при помощи ранее реализованных алгоритмов сортировки и подсчитать количество операций, выполненных для их сортировки (количество сравнений + количество перестановок) и время затраченное на сортировку массивов. Вывести на графики данные по числу операций, по времени сортировки в зависимости от размера массива (зависимость числа операций от размера массива, зависимость времени выполнения алгоритма от размера массива). Для каждой сортировки сделать разные графики.

2

 

 

Содержание

 

1

Введение..............................................................................................................

4

2

ХОД РАБОТЫ....................................................................................................

5

 

2.1

Сортировка расческой...............................................................................

5

 

2.2

Быстрая сортировка...................................................................................

7

 

2.3

Сортировка вставками..............................................................................

9

3

Рассмотрение худших и лучших вариантов..................................................

12

Заключение...........................................................................................................

13

Приложение А......................................................................................................

14

Приложение Б......................................................................................................

16

Приложение В......................................................................................................

19

3

1 Введение

Целью работы является овладеть навыками работы с простыми структурами данных на примере массивов, а также их сортировки тремя методами.

4

2 ХОД РАБОТЫ

2.1 Сортировка расческой

На рисунке 2.1 представлен результат работы программы по вычислению

алгоритмической сложности алгоритма сортировки расческой.

Рисунок 2.1 – Результат работы программы

В приложении А представлен листинг программы сортировки расческой. На рисунке 2.2 представлен график зависимости количества тактов от

размерности массива.

5

12000

10000

8000

6000

4000

2000

0

0

5

10

15

20

25

Рисунок 2.2 – График зависимости количества тактов от размерности массива

На рисунке 2.3 представлен график зависимости количества операций от размерности массива f(x) в сравнении с эталонными графиками функций.

30000

25000

20000

15000

10000

5000

0

0

200

400

600

800

1000

1200

y = n

y = n * log(n) y = n^2

y = n^3 y = f(x)

Рисунок 2.3 – График зависимости количества операций от размерности массива

6

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

2.2 Быстрая сортировка

На рисунке 2.4 представлен результат работы программы по вычислению

алгоритмической сложности быстрой сортировки.

Рисунок 2.4 – Результат работы программы

В приложении Б представлен листинг программы быстрой сортировки. На рисунке 2.5 представлен график зависимости количества тактов от

размерности массива.

7

14000

12000

10000

8000

6000

4000

2000

0

0

5

10

15

20

25

Рисунок 2.5 – График зависимости количества тактов от размерности массива

На рисунке 2.6 представлен график зависимости количества операций от размерности массива f(x) в сравнении с эталонными графиками функций.

50000

45000

40000

35000

30000

25000

20000

15000

10000

5000

0

0

200

400

600

800

1000

1200

y = n

y = n * log(n) y = n^2

y = n^3 y = f(x)

Рисунок 2.6 – График зависимости количества операций от размерности массива

8

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

2.3 Сортировка вставками

На рисунке 2.7 представлен результат работы программы по вычислению алгоритмической сложности сортировки вставками.

Рисунок 2.7 – Результат работы программы

В приложении В представлен листинг программы сортировки вставками. На рисунке 2.8 представлен график зависимости количества тактов от

размерности массива.

9

1200

1000

800

600

400

200

0

0

5

10

15

20

25

Рисунок 2.8 – График зависимости количества тактов от размерности массива

На рисунке 2.9 представлен график зависимости количества операций от размерности массива f(x) в сравнении с эталонными графиками функций.

14000

12000

10000

8000

6000

4000

2000

0

0

100

200

300

400

500

600

y = n

y = n * log(n) y = n^2

y = n^3 y = f(x)

Рисунок 2.9 – График зависимости количества операций от размерности массива

10

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