Лабораторная работа №1
.docxМинистерство цифрового развития, связи и массовых коммуникаций
Российской Федерации Ордена Трудового Красного Знамени
федеральное государственное бюджетное образовательное
учреждение высшего образования
Московский технический университет связи и информатики
Кафедра «Математическая кибернетика и информационные технологии»
Лабораторная работа №1
«Методы сортировки»
по дисциплине
«Структуры и алгоритмы обработки данных»
Москва 2022
Содержание
1 Цель работы 2
2 Задание на лабораторную работу 3
3 Ход работы 4
3.1 Задание №1 4
3.2 Задание №2 4
3.3 Задание №3 5
3.4 Задание №4 11
4 Вывод 11
Список использованных источников 11
1 Цель работы
Реализовать алгоритмы сортировки двумерных массивов.
2 Задание на лабораторную работу
Задание №1
1.Создать Jupyter Notebook со следующим наименованием: Lab1_Группа_ФИО
2.Создать новую ячейку с помощью кнопки
3.В созданной ячейке по указанной ниже форме заполните оглавление файла, заменив наименование группы и вписав свое ФИО, после чего создайте еще одну ячейку и напишите следующий код: print("Hello, World!)
4.С помощью кнопки запустите выполнение всех ячеек.
Задание №2
Написать генератор случайных матриц(многомерных), который принимает опциональные параметры m, n, min_limit, max_limit, где m и n указывают размер матрицы, а min_lim и max_lim - минимальное и максимальное значение для генерируемого числа. min_limit =-250 max_limit=1003
Задание №3
Реализовать методы сортировки строк числовой матрицы в соответствии с заданием. Оценить время работы каждого алгоритма сортировки и сравнить его со временем стандартной функции сортировки. Испытания проводить на сгенерированных матрицах.
Методы:
-Выбором
-Вставкой
-Обменом
-Шелла
-Турнирная
-Быстрая сортировка
-Пирамидальная
Задание №4
Создать публичный репозиторий на github, и запушить выполненное задание в .ipynb формате.
3 Ход работы
3.1 Задание №1
Был создан Jupyter Notebook со следующим наименованием: Lab1_БСТ2004_Гублев_Г_В. Также было сделано оглавление файла, и написан код print(“Hello World!”). Результат работы представлен на рисунке 1.
Рисунок 1-Задание №1
3.2 Задание №2
Была написана функция генерации двумерного массива def create_mas(m, n), которая возвращает массив 5х5 со значениями в диапазоне от -250 до 1003. Код и результат работы функции представлен на рисунке 2.
Рисунок 2-Результат генерации двумерного массива
3.3 Задание №3
Были реализованы методы сортировки двумерного массива, такие как:
Сортировка выбором (Рисунок 3).
Рисунок 3-Сортировка выбором
Сортировка вставкой (Рисунок 4)
Рисунок 4-Сортировка вставкой
Сортировка обменом (Рисунок 5)
Рисунок 5-Сортировка обменом
Сортировка Шелла (Рисунок 6)
Рисунок 6-Сортировка Шелла
Быстрая сортировка (Рисунок 7)
Рисунок 7-Быстрая сортировка
Пирамидальная сортировка (Рисунок 8)
Рисунок 8-Пирамидальная сортировка
Встроенная сортировка (Рисунок 9)
Рисунок 9-Встроенная сортировка
Также было высчитано время работы каждого алгоритма сортировки. Результат работы представлен на рисунке 10.
Рисунок 10-Время работы алгоритмов сортировки
3.4 Задание №4
Проект был запушен на github. Ссылка на репозиторий- https://github.com/Grigoriy63/SAOD
4 Вывод
Реализовал сортировки двумерных массивов.
Список использованных источников
1) ГОСТ 7.32.2017 Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления. – М.: Стандартинформ, 2017, - 27 с.