|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.02.2011, 14:07 | #1 |
Пользователь
Регистрация: 19.11.2009
Сообщений: 10
|
Delphi. Хеширование.
Постройте хеш-хранилище строковых значений (записей), построенное по принципам открытого хеширования. Предполагать, что в каждой записи первое слово является ключевым. Программа должна обеспечивать как размещение поступающих записей, так и поиск в хранилище нужной записи по ключу.
В дополнение к классическому алгоритму открытого хеширования снабдить хранилище дополнительным массивом целых чисел: количество ячеек в массиве равно количеству R сегментов в открытом хранилище; текущее число, хранящееся в данной ячейке, равно количеству записей, попавших на данный момент в сегмент. Для поиска сегмента, в котором необходимо разместить очередную поступающую в хранилище запись, применить методику повторного хеширования. Поиск подходящего сегмента ведется до тех пор, пока не будет найден сегмент, количество элементов в котором будет меньше или равно N/R, где R - количество сегментов в хранилище (данное правило может быть заменено каким-то другим - придумайте сами). Рассмотрите два варианта повторного хеширования: (1) простейшее линейное хеширование; (2) двойное хеширование (см. книгу Кормен). В программе предусмотреть блок, который ведет подсчет среднего числа повторных обращений к хеш-функции при размещении в хранилище одной записи. Прогоните через хранилище различные наборы данных, чтобы "прочувствовать" проблему группировки записей. Сравните варианты повторного хеширования. Также в программе должно присутствовать: 1) 2 модуля 2) Основнойя алгоритм - автономная (вне класса) процедура или функция 3) 3 собственных класса 4) В классе родителе - абстрактные виртуальные методы, в потомках - их перекрытие 5) Основной алгоритм решения должен инкапсулироваться в одном из классов потомках. Другой потомок должен инкапсулировать вспомогательную функцию 6) Результаты - в текстовые файлы: текстовый, типизированный Сроки выполнения 01.02.2011-02.02.2011 Контакты для связи: ICQ: 367-999-364 mail: pianergiv@mail.ru |
02.02.2011, 19:17 | #2 |
Пользователь
Регистрация: 19.11.2009
Сообщений: 10
|
вопрос не актуален.
|
04.02.2011, 00:09 | #3 |
Пользователь
Регистрация: 19.11.2009
Сообщений: 10
|
Вопрос снова в силе! Сроки выполнения: 07.02-08.02(Крайний срок(не желателен))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хеширование: | Necare | Помощь студентам | 5 | 21.03.2011 19:46 |
Zobrist-хеширование | Magnum2 | Общие вопросы Delphi | 0 | 05.12.2010 22:14 |
Хеширование для алгоритма TEA на Си. | NooDle | Общие вопросы C/C++ | 4 | 15.10.2010 20:50 |
Хеширование в Делфи | F@got | Помощь студентам | 3 | 09.04.2010 00:33 |
Хеширование | RunForest | Общие вопросы .NET | 4 | 10.08.2009 15:21 |