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

Лабораторная работа №1

.docx
Скачиваний:
28
Добавлен:
02.02.2023
Размер:
391.03 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций

Российской Федерации Ордена Трудового Красного Знамени

федеральное государственное бюджетное образовательное

учреждение высшего образования

Московский технический университет связи и информатики

Кафедра «Математическая кибернетика и информационные технологии»

Лабораторная работа №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 с.