Часть 3. Разработка хеш-таблиц и функций хеширования

1. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру поиска задаваемого элемента.

Для предотвращения коллизий использовать метод цепочек.

2. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру вставки задаваемого элемента. Для предотвращения коллизий использовать метод линейного апробирования.

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

4. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру удаления задаваемого элемента. Для предотвращения коллизий использовать метод двойного хеширования.

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

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

7. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру поиска задаваемого элемента. Для предотвращения коллизий использовать метод двойного хеширования.

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

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

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

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

12. Разработать приложение, которое использует хеш-таблицу для организации прямого доступа к элементам массива данных. Разработать процедуру вставки задаваемого элемента. Для предотвращения коллизий использовать метод двойного хеширования.

13. Разработать приложение, в котором создаётся таблица имен лексического анализатора программы. Таблица содержит характеристики каждого имени: номер, тип, число символов, указатель начала цепочки символов и др. Разработать процедуру поиска задаваемого имени. Для предотвращения коллизий использовать метод линейного апробирования.

14. Разработать приложение, в котором создаётся таблица имен лексического анализатора программы. Таблица содержит характеристики каждого имени: номер, тип, число символов, указатель начала цепочки символов и др. Разработать процедуру вставки нового имени. Для предотвращения коллизий использовать метод квадратичного апробирования.

15. Разработать приложение, в котором создаётся таблица имен лексического анализатора программы. Таблица содержит характеристики каждого имени: номер, тип, число символов, указатель начала цепочки символов и др. Разработать процедуру удаления задаваемого имени. Для предотвращения коллизий использовать метод двойного хеширования.

 

Примечание. Для заданий 1 – 12 рекомендуется использовать исходный массив, содержащий сведения, аналогичные списку физических лиц, например: порядковый номер, фамилия, имя, отчество, адрес и т.д.


[1] Программный модуль для тестирования выбирается по согласованию с преподавателем.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: