Часть 2. Реализация списковых и древовидных структур данных
1. Для кольцевого односвязного неупорядоченного списка реализовать операции:
· включение нового узла вслед за k-м;
· вывод списка на экран.
2. Для кольцевого односвязного неупорядоченного списка реализовать операции:
· поиск узла с заданным значением;
· исключение k-го узла.
3. Для кольцевого односвязного неупорядоченного списка реализовать операции:
· сохранение содержимого списка в типизированном файле;
· чтение содержимого списка из типизированного файла.
4. Для кольцевого односвязного неупорядоченного списка реализовать операции:
· очистка списка;
· сортировка списка.
5. Реализовать построение дерева с произвольным числом потомков каждого узла. Разработать процедуру подсчета количества узлов дерева и количества потомков заданного узла.
6. Реализовать построение дерева с произвольным числом потомков каждого узла. Разработать процедуру отображения поддерева с наибольшим числом узлов.
7. Реализовать построение дерева с произвольным числом потомков каждого узла. Разработать процедуру отображения поддерева с наименьшим числом узлов.
8. Реализовать построение дерева с произвольным числом потомков каждого узла. Разработать процедуру отображения поддерева с задаваемым числом узлов.
9. Реализовать построение бинарного дерева поиска и его отображение с помощью обхода в ширину. Разработать процедуру добавления нового узла.
|
|
10. Реализовать построение бинарного дерева поиска и его отображение с помощью алгоритма прямого обхода. Разработать процедуру удаления узла с минимальным значением.
11. Реализовать построение бинарного дерева поиска и его отображение с помощью алгоритма обхода в ширину. Разработать процедуру удаления узла с максимальным значением.
12. Реализовать построение бинарного дерева поиска и его отображение с помощью алгоритма прямого обхода. Разработать процедуру поиска узла с максимальным значением.
13. Реализовать построение бинарного дерева поиска и его отображение с помощью алгоритма обхода в ширину. Разработать процедуру поиска узла с минимальным значением.
14. Реализовать построение бинарного дерева поиска и его отображение с помощью алгоритма прямого обхода. Разработать процедуру определения суммы значений, находящихся в листьях дерева.
15. Реализовать построение бинарного дерева поиска и его отображение с помощью алгоритма обхода в ширину. Разработать процедуру определения суммы значений, находящихся в n задаваемых узлах дерева.
Часть 3. Разработка хеш-таблиц и функций хеширования
1. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру поиска задаваемого элемента.
|
|
Для предотвращения коллизий использовать метод цепочек.
2. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру вставки задаваемого элемента. Для предотвращения коллизий использовать метод линейного апробирования.
3. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру удаления задаваемого элемента. Для предотвращения коллизий использовать метод квадратичного апробирования.
4. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру удаления задаваемого элемента. Для предотвращения коллизий использовать метод двойного хеширования.
5. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру удаления задаваемого элемента. Для предотвращения коллизий использовать метод цепочек.
6. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру вставки задаваемого элемента. Для предотвращения коллизий использовать метод цепочек.
|
|
7. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру поиска задаваемого элемента. Для предотвращения коллизий использовать метод двойного хеширования.
8. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру поиска задаваемого элемента. Для предотвращения коллизий использовать метод линейного апробирования.
9. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру поиска задаваемого элемента. Для предотвращения коллизий использовать метод квадратичного апробирования.
10. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру вставки задаваемого элемента. Для предотвращения коллизий использовать метод цепочек.
11. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру вставки задаваемого элемента. Для предотвращения коллизий использовать метод квадратичного апробирования.
|
|
12. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру вставки задаваемого элемента. Для предотвращения коллизий использовать метод двойного хеширования.
13. Разработать приложение, в котором создаётся таблица имен лексического анализатора программы. Таблица содержит характеристики каждого имени: номер, тип, число символов, указатель начала цепочки символов и др. Разработать процедуру поиска задаваемого имени. Для предотвращения коллизий использовать метод линейного апробирования.
14. Разработать приложение, в котором создаётся таблица имен лексического анализатора программы. Таблица содержит характеристики каждого имени: номер, тип, число символов, указатель начала цепочки символов и др. Разработать процедуру вставки нового имени. Для предотвращения коллизий использовать метод квадратичного апробирования.
15. Разработать приложение, в котором создаётся таблица имен лексического анализатора программы. Таблица содержит характеристики каждого имени: номер, тип, число символов, указатель начала цепочки символов и др. Разработать процедуру удаления задаваемого имени. Для предотвращения коллизий использовать метод двойного хеширования.
Примечание. Для заданий 1 – 12 рекомендуется использовать исходный массив, содержащий сведения, аналогичные списку физических лиц, например: порядковый номер, фамилия, имя, отчество, адрес и т.д.
[1] Программный модуль для тестирования выбирается по согласованию с преподавателем.
Дата добавления: 2018-11-24; просмотров: 175; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!