Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
02.05.2014
Размер:
608 Кб
Скачать

1.4. Простой список

Простой список является простейшим способом организации ТИ. Он состоит в том, что добавление элементов ведется в порядке их поступления. Поиск в этом случае требует сравнения с каждым элементом ТИ, пока не будет найден подходящий. Для ТИ, содержащей n элементов, в среднем будет выполнено n/2 сравнений. Если n велико, то способ не является эффективным.

Поскольку при заполнении таблицы идентификаторов основными операциями являются добавление элемента в таблицу и поиск элемента в ней, на рис. 3 и рис. 4 представлены блок-схемы этих операций для рассматриваемого метода.

Рис. 3. Блок-схема добавления элемента в таблицу идентификаторов по простого списка.

Рис. 4. Блок-схема алгоритма поиска элемента в таблицу идентификаторов, организованной по методу простого списка.

1.5. Результаты

Для сравнения метода простого рехеширования и простого списка выбран текстовый файл, содержащий 20 строк.

В результате работы программы получены следующие данные, которые представлены в табл. 1.

Таблица 1

Метод простого

рехеширования

Простой список

Коллизий

5

Сравнений

3

17

Среднее число сравнений

0,058

0,8571

На основе полученных результатов можно сделать следующие вывод ы.

Недостатки метода простого рехеширования:

 элементы могут попадать в ячейки с адресами, которые потом будут совпадать со значениями хеш-функции, что приводит к возникновению дополнительных коллизий;

 среднее время на размещение элемента и на поиск элемента в таблице зависит от заполненности таблицы идентификаторов и качества используемой хеш-функции;

 требование неполного заполнения таблицы ведет к неэффективному использованию объема доступной памяти.

Достоинством метода простого рехеширования является то, что он позволяет добиться неплохих результатов для эффективного поиска элемента в таблице (лучших, чем метод бинарного дерева).

Достоинства простого списка:

 нет необходимости заполнять пустыми значениями таблицу идентификаторов (это можно сделать только для хеш-таблицы), то есть память используется более экономно;

 элементы не могут попадать в ячейки с адресами, которые потом будут совпадать со значениями хеш-функции, то есть коллизии не будут возникать;

 время на размещение элемента и на поиск элемента в таблице не зависит от среднего числа коллизий, возникающих при вычислении хеш-функции.

Недостатком метода простого списка является большое время поиска.

Простое рехеширования является более эффективным методом организации таблицы идентификаторов. Именно он и будет в дальнейшем использован для хранения информации об идентификаторах в курсовой работе.

Соседние файлы в папке хе6рнь