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

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

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

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

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

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

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

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

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

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

«Методы поиска»

по дисциплине

«Структуры и алгоритмы обработки данных»

Москва 2022

Содержание

1 Цель работы 3

2 Задание на лабораторную работу 3

3 Ход работы 4

3.1 Задание №1 4

3.2 Задание №2 8

3.3 Задание №3 12

4 Вывод 13

Список использованных источников 13

1 Цель работы

Реализовать различные алгоритмы поиска числа в массиве, функции рехэширования и метод цепочек. Расставить на стандартной 64-клеточной шахматной доске 8 ферзей так, чтобы ни один из них не находился под боем другого».

2 Задание на лабораторную работу

Задание №1

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

Задание №2

Реализовать простое рехэширование, рехэширование с помощью псевдослучайных чисел и метод цепочек.

Задание №3

Расставить на стандартной 64-клеточной шахматной доске 8 ферзей так, чтобы ни один из них не находился под боем другого». Подразумевается, что ферзь бьёт все клетки, расположенные по вертикалям, горизонталям и обеим диагоналям

Написать программу, которая находит хотя бы один способ решения задач.

3 Ход работы

3.1 Задание №1

Была создана функция генерации и сортировки массива generate_mas. Код функции представлен на рисунке 1.

Рисунок 1-generate_mas

Далее мной были реализованы различные алгоритмы поиска. На рисунке 2 представлен бинарный поиск, на рисунке 3 представлен алгоритм бинарного дерева, на рисунке 4 представлен фиббоначиев поиск, на рисунке 5 представлен интерполяционный поиск.

Рисунок 2-бинарный поиск

Рисунок 3-Бинарное дерево

Рисунок 4-Фиббоначиев поиск

Рисунок 5-Интерполяционный поиск

3.2 Задание №2

Были реализованы алгоритмы простого рехэширования, и рехэширования при помощи псевдослучайных чисел. Код представлен на рисунке 6-7.

Рисунок 6-Алгоритмы рехэширования

Рисунок 7-Алгоритмы рехэширования

Был реализован метод цепочек. Его реализация представлена на рисунке 8.

Рисунок 8-Метод цепочек

3.3 Задание №3

Был реализован алгоритм расстановки 8 ферезей на шахматной доске. Код представлен на рисунке 9.

Рисунок 9-Алгоритм расстановки ферзей

4 Вывод

Реализовать различные алгоритмы поиска числа в массиве, функции рехэширования и метод цепочек. Расставить на стандартной 64-клеточной шахматной доске 8 ферзей так, чтобы ни один из них не находился под боем другого».

Список использованных источников

1) ГОСТ 7.32.2017 Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления. – М.: Стандартинформ, 2017, - 27 с.