Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 14:07   #1
PianeR
Пользователь
 
Регистрация: 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
PianeR вне форума Ответить с цитированием
Старый 02.02.2011, 19:17   #2
PianeR
Пользователь
 
Регистрация: 19.11.2009
Сообщений: 10
По умолчанию

вопрос не актуален.
PianeR вне форума Ответить с цитированием
Старый 04.02.2011, 00:09   #3
PianeR
Пользователь
 
Регистрация: 19.11.2009
Сообщений: 10
По умолчанию

Вопрос снова в силе! Сроки выполнения: 07.02-08.02(Крайний срок(не желателен))
PianeR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хеширование: 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