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

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

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

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

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

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

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

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

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

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

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

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

Москва 2022

Содержание

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

3 Ход работы 4

3.1 Задание №1 4

3.2 Задание №2 6

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

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

Задание №1

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

Задание №2

Написать программу, определяющую, является ли данное расположение «решаемым», то есть можно ли из него за конечное число шагов перейти к правильному. Если это возможно, то необходимо найти хотя бы одно решение - последовательность движений, после которой числа будут расположены в правильном порядке.

Входные данные: массив чисел, представляющий собой расстановку в

Порядке «слева направо, сверху вниз». Число 0 обозначает пустое поле. Например, массив [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0] представляет собой «решенную» позицию элементов.

Выходные данные: если решения нет, то функция должна вернуть пустой массив []. Если решение есть, то необходимо представить решение — для каждого шага записывается номер передвигаемого на данном шаге элемента.

3 Ход работы

3.1 Задание №1

Был реализован алгоритм Кнута-Морриса-Пратта. Код представлен на рисунке 1.

Рисунок 1- Алгоритм Кнута-Морриса-Пратта

Был реализован алгоритм Бойера-Мура. Код представлен на рисунке 2.

Рисунок 2- Алгоритм Бойера-Мура

Был реализован встроенный алгоритм поиска python. Код представлен на рисунке 3.

Рисунок 3- Встроенный алгоритм поиска python

3.2 Задание №2

Был реализован алгоритм определяющий является ли расположение числе в пятнашках решаемым. Код представлен на рисунке 4.

Рисунок 4-Алгоритм решения пятнашек

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

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