Исследование алгоритмов поиска

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Аватара пользователя
Alex_Burn
Сообщения: 147
Зарегистрирован: 13 апр 2007, 17:49
Контактная информация:

Здравствуйте, уважаемые участники форума! Возможно я создал тему не там, где нужно(в таком случае извините).

Я просто в растерянности. :( Вот мое задание:

Исследовать временную сложность заданного алгоритма поиска.
Сравнить по экспериментальным данным эффективность заданного алгоритма поиска и последовательного алгоритма поиска в списке. Исследуемый алгоритм, структура данных, изменяемые параметры заданы в таблице вариантов (см. ниже). Значение параметров, которые неопределены, выбрать самостоятельно.

Метод исследования:
Измерить временную сложность исследуемого алгоритма поиска для трех
значений изменяемого параметра для заданнй структуры данных S.
Измерить временную сложность алгоритма последовательного поиска в списке.
На основании полученных резальтатов в выводе ответить на вопросы:
1) Как влияет на эффективность исследуемого алгоритма поиска изменяемый
параметр?
2) Как влияет количество элементов в таблице на эффективность поиска?
3) Почему эффективность исследуемого алгоритма поиска выше эффективности
последовательного поиска?

Для измерения временной сложности алгоритмов (среднее время поиска, среднее
количесиво сравнений при поиске) использовать процедуры модуля Timer (прилагаю).

П р о г р а м м н о е о б е с п е ч е н и е:
1. Среда программирования Паскаль.
2. Программы Lr_04_LH, Lr_04_LA. (Прилагаю)
3. Модуль Timer, включающий подпрограммы для снятия временных
характкристик алгоритмов:
3.1 подпрограмма Start - запоминает значение таймера перед выполнением
фрагмента, значение берет в момент обновленя системного счетчика.
3.2 подпрограмма Finish - вычисляет разницу между показаниями таймера
перед (опр. п/п Start) и после выполнением фрагмента программы,
3.3 подпрограмма Report - выводит на печать измеренный интервал в секундах
и сообщение через переменную Msg,


Вот конкретное заданее:

1. Структура данных - хеш-таблица.
Хеш-функция h(k,а)=k mod а, где k-ключ, а - простое число.
Поиск в списках хеш-таблицы последовательный.
Элементы таблицы - строки из двух прописных символов букв английского
алфавита.
Изменяемый параметр - а.

Чего-то я туго соображаю. :confused:
Че за хеш-функция?
Поделитесь пожалуйста своими соображениями.

Заранее благодарен!
Вложения
LR_04.zip
(12.89 КБ) 19 скачиваний
Ответить