Главная страница

Задача 7 Сбалансированные деревья, хештаблицы Цель работы построить и обработать хештаблицы


Скачать 195.86 Kb.
НазваниеЗадача 7 Сбалансированные деревья, хештаблицы Цель работы построить и обработать хештаблицы
Дата04.12.2022
Размер195.86 Kb.
Формат файлаpdf
Имя файлаЗадания_л_р_7_22.pdf
ТипЗадача
#827343

Задача №7
Сбалансированные деревья, хеш–таблицы
Цель работы – построить и обработать хеш-таблицы,
сравнить эффективность поиска в сбалансированных деревьях,
в двоичных деревьях поиска и в хеш-таблицах. Сравнить
эффективность устранения коллизий при внешнем и внутреннем
хешировании.
Задание:
построить
хеш-таблицу
по
указанным
данным.
Сравнить
эффективность поиска в сбалансированном двоичном дереве, в двоичном
дереве поиска и в хеш-таблице (используя открытую и закрытую
адресацию). Вывести на экран деревья и хеш-таблицу. Подсчитать среднее
количество сравнений для поиска данных в указанных структурах.
Произвести реструктуризацию хеш-таблицы, если среднее количество
сравнений больше указанного. Оценить эффективность использования
этих структур (по времени и памяти) для поставленной задачи. Оценить
эффективность поиска в хеш-таблице при различном количестве коллизий
и при различных методах их разрешения.
№ варианта – № по списку Mod 7
0.
Сбалансировать дерево (задача №6) после удаления повторяющихся букв.
Вывести его на экран в виде дерева. Составить хеш-таблицу, содержащую буквы и количество их вхождений во введенной строке. Вывести таблицу на экран. Осуществить поиск введенной буквы в двоичном дереве поиска, в сбалансированном дереве и в хеш-таблице. Сравнить время поиска, объем памяти и количество сравнений при использовании различных структур данных.
1.
Используя предыдущую программу (задача №6), сбалансировать полученное дерево. Вывести его на экран в виде дерева. Построить хеш-таблицу из чисел файла. Осуществить поиск введенного целого числа в двоичном дереве поиска, в сбалансированном дереве и в хеш-таблице. Сравнить время поиска, объем памяти и количество сравнений при использовании различных структур данных.
2.
Используя предыдущую программу (задача №6), сбалансировать полученное дерево. Вывести его на экран в виде дерева. Построить хеш-таблицу из слов текстового файла. Осуществить поиск введенного слова в двоичном дереве поиска, в сбалансированном дереве и в хеш-таблице. Сравнить время
поиска, объем памяти и количество сравнений при использовании различных структур данных.
3.
Используя предыдущую программу (задача №6), сбалансировать полученное дерево. Вывести его на экран в виде дерева. Удалить все слова, начинающиеся на указанную букву, в исходном и сбалансированном дереве.
Сравнить время поиска, объем памяти. Построить хеш-таблицу из слов текстового файла, задав размерность таблицы с экрана. Вывести построенную таблицу слов на экран. Осуществить поиск и удаление введенного слова, вывести таблицу. Выполнить программу для различных размерностей таблицы и сравнить время поиска, объем памяти и количество сравнений при использовании сбалансированных деревьев и хеш-таблиц.
4.
Построить хеш-таблицу для зарезервированных слов языка С++ (не менее 20 слов), содержащую HELP для каждого слова. Выдать на экран подсказку по введенному слову. Выполнить программу для различных размерностей таблицы и сравнить время поиска и количество сравнений. Для указанных данных создать сбалансированное дерево. Добавить подсказку по вновь введенному слову, используя при необходимости реструктуризацию таблицы. Сравнить эффективность добавления ключа в таблицу или ее реструктуризацию для различной степени заполненности таблицы.
5.
Удалить все слова, начинающиеся на указанную букву в таблице и в сбалансированном дереве, вывести таблицу. Сравнить время поиска, объем памяти и количество сравнений при использовании хеш-таблиц и сбалансированных деревьев.
6.
Построить хеш-таблицу для слов текстового файла (задача №6).
Осуществить поиск указанного слова в двоичном дереве поиска (ДДП) и в хеш-таблице, если его нет, то добавить его (по желанию пользователя) в дерево и, соответственно, в таблицу. При необходимости использовать реструктуризацию таблицы. Сбалансировать дерево. Сравнить время поиска, объем памяти и количество сравнений при использовании ДДП, сбалансированных деревьев и хеш-таблиц. Сравнить эффективность добавления ключа в таблицу или ее реструктуризацию для различной степени заполненности таблицы
7.
Используя бинарное дерево следующего выражения: 9+(8*(7+(6*(5+4)-(3-
2))+1)), и процедуру постфиксного обхода дерева, вычислить значение каждого узла и результат записать в его вершину. Получить массив, используя процедуру инфиксного обхода полученного дерева. Построить для этих данных дерево двоичного поиска (ДДП), сбалансировать его. Построить хеш-таблицу для значений этого массива. Осуществить поиск указанного значения. Сравнить время поиска, объем памяти и количество сравнений при использовании ДДП, сбалансированных деревьев и хеш-таблиц.


написать администратору сайта