Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лр+Структуры и алгоритмы с АТД.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
463.87 Кб
Скачать

Варианты задания

1. Алгоритм сортировки выбором, алгоритм сортировки с помощью дерева выбора.

2. Алгоритм сортировки выбором, алгоритм пирамидальной сортировки.

3. Алгоритм сортировки вставками, алгоритм сортировки Шелла.

4. Алгоритм обменной сортировки, рекурсивный алгоритм сортировки разделением.

5. Алгоритм обменной сортировки, итерационный алгоритм сортировки разделением,

6. Алгоритм нисходящей сортировки слиянием, алгоритм восходящей сортировки слиянием.

7. Алгоритм LSD-поразрядной сортировки (величина разряда - 1,4).

8. Алгоритм MSD-поразрядной сортировки (величина разряда - 2,3).

Методические указания по выполнению задания

1. Для АТД "Вектор" разрабатываются формат АТД и шаблонный класс - контейнер.

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

3. Тестирование отдельных операций через меню выполняется на коллекциях небольшого размера (до 20 элементов). Размер коллекции и тип данных хранящихся в ней, задаётся с клавиатуры перед началом тестирования. Перед и после выполнения операций сортировки необходимо вывести на экран содержимое коллекции.

4. Перед тестированием трудоёмкости сортировок задаются тип и размер коллекции, вид выборки (упорядоченная или случайная). Размер коллекции варьируется в пределах от 10 до 100 000 элементов. Полученная трудоёмкость (количество операций сравнения и операций обменов, выполненных в процессе сортировки) выводится на экран. При тестировании алгоритмов сортировки исследуются варианты худшего и среднего случаев работы алгоритмов. Сравнительное тестирование эффективности алгоритмов проводится на базе сортировки одной и той же выборки данных.

2  3  4

Задание к лабораторной работе

Цели работы: Освоение технологии реализации позиционных, линейных коллекций на примере АТД "Список". Освоение методики тестирования трудоёмкости реализации коллекций.

Задание к лабораторной работе:

1. Спроектировать, реализовать и провести тестовые испытания АТД "Список" для коллекции, содержащей данные произвольного типа. Тип данных задаётся клиентской программой.

Интерфейс АТД "Список" включает следующие операции:

 опрос размера списка,

 очистка списка,

 проверка списка на пустоту,

 опрос наличия элемента с заданным значением,

 доступ к значению элемента с заданным номером в списке,

 получение позиции в списке элемента с заданным значением,

 включение нового элемента в позицию с заданным номером,

 удаление элемента из позиции с заданным номером,

 итератор для доступа к элементам списка с операциями:

1) установка на начало списка,

2) проверка конца списка,

3) доступ к значению текущего элемента,

4) переход к следующему элементу списка,

5) переход к предыдущему элементу списка (для списков на базе массива или двусвязных структур),

Для тестирования эффективности операций интерфейс АТД "Список" включает дополнительную операцию.

 опрос числа элементов списка, просмотренных операцией.

2. Выполнить отладку и тестирование всех операций АТД "Список" с помощью меню операций.

3. Выполнить тестирование средней трудоёмкости операций поиска, вставки и удаления элементов.

4. Провести анализ экспериментальных показателей трудоёмкости операций.

5. Составить отчёт по лабораторной работе. Отчёт должен содержать следующие пункты:

1) титульный лист,

2) цель лабораторной работы,

3) общее задание (пункты 1 - 5) и вариант задания,

4) формат АТД,

5) определение шаблонного класса для коллекции "Список", предназначенное для клиентской программы,

6) описание методики тестирования трудоёмкости операций,

7) таблицы и графики с полученными оценками трудоёмкости операций для среднего случая функционирования АТД. Должны быть приведены графики среднего числа просмотренных элементов для операций поиска, вставки и удаления (графики совмещены в одной системе координат),

8) сравнительный анализ теоретических и экспериментальных оценок эффективности алгоритмов АТД,

9) выводы,

10) список использованной литературы,

11) приложение с текстами программ:

 полное определение класса и текстов методов класса,

 текст программы тестирования трудоёмкости операций.