Министерство Цифрового Развития, Связи И Массовых
Коммуникаций Российской Федерации
Ордена Трудового Красного Знамени Федеральное
Государственное Бюджетное Образовательное Учреждение
Высшего Образования
«Московский Технический Университет Связи и Информатики»
──────────────────────────────────────
Введение в Информационные Технологии
Петров Вячеслав БИН2406
Проверил:
Зимин С.И.
Лабораторная работа №4 «Введение
в численные методы на Python: Алгоритмы
сортировки и поиска»
Цель работы
Знакомство с численными методами для решения задач:
сортировка элементов массива
поиск элементов в упорядоченном массиве
Листинг
исходного кода
Сравнение методов сортировки
Количество точек |
Сортировка вставками |
Сортировка пузырьком |
Отношение |
1000 |
0.033 |
0.047 |
1.46 |
10000 |
3.202 |
5.069 |
1.58 |
100000 |
335.13 |
542.08 |
1.62 |
Из предложенных запусков метод сортировки вставками оказался быстрее метода пузырька в 1.55 раз
Вывод:
В данной работе исследовалась эффективность двух алгоритмов сортировки: сортировки вставками и сортировки пузырьком. Оба метода были реализованы и протестированы на списках случайных чисел различного размера, после чего было проведено сравнение их времени выполнения.
Сортировка вставками и сортировка пузырьком являются алгоритмами с временной сложностью O(n²) в худшем случае, но имеют различия в скорости работы. В ходе эксперимента данные сортировались массивами из 1 000, 10 000 и 100 000 элементов. Результаты показали, что сортировка вставками оказалась в среднем быстрее пузырьковой сортировки примерно в 1.55 раза. Это объясняется тем, что пузырьковая сортировка делает множество лишних перестановок, в то время как сортировка вставками быстрее находит место для каждого нового элемента.
После
сортировки данных была реализована
двоичная (бинарная) сортировка, которая
искала случайный элемент в отсортированном
массиве. Данный алгоритм позволяет
эффективно находить элементы за
,
что значительно быстрее линейного
поиска. Проверка корректности показала,
что алгоритм успешно выполняет поиск
в отсортированных массивах.
В итоге можно заключить, что сортировка вставками является более предпочтительной по сравнению с пузырьковой, особенно при работе с относительно небольшими объёмами данных. Однако оба метода неэффективны для больших массивов, где целесообразно использовать более быстрые алгоритмы, такие как быстрая сортировка (QuickSort) или сортировка слиянием (MergeSort).
Москва 2025
