Реализация Hashtable для Delphi 5

вы знаете хороший и бесплатный хеш-таблица реализация для Delphi 5 ?

Мне нужно организовать огромное количество данных в hastable, и я немного беспокоюсь о проблемах с утечкой памяти, которые я нашел в большинстве доступных реализаций в интернете.

Tks

9 ответов


вы также можете проверить с открытым исходным кодом / ранее коммерческий SysTools Турбонаддува. Не уверен, насколько он обновляется. В один момент Джулиан Bucknall рекомендовал его за его библиотека EZDSL, хотя это было еще тогда, когда он все еще работал с меховой турбонаддувом, и он поддерживался / обновлялся.


вы можете попробовать мой GpStringHash. Гарантированное отсутствие утечек памяти, но работает только со строками. Я!--3-->думаю он должен работать в D5.


EZDSL-это библиотека структур данных, включая хэш-таблицу, написанную Джулианом Бакналлом из TurboPower и DevExpress... Я не использовал их, но у меня были бы большие ожидания для кода этого парня.

http://www.boyet.com/FixedArticles/EZDSL.html



вы можете попробовать найти в Koders.
здесь у вас есть простая реализация (проект Winjab), или этой С JCL.

Примечание: см. лицензию кодов перед использованием его.


Питер ниже только что опубликовал переработку чего-то, что он сделал для новых групп Embarcadero в публике.вложения. Есть что-то под его профилем На сайте CodeGear по адресуhttp://cc.codegear.com/Item/24825 taht описывает это.


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


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

хорошим является хэш-функция от Боба Дженкинса,читайте его статью здесь.

этот алгоритм был недавно улучшен для случаев, когда вход имеет размер DWord (смотрите его C-версию здесь). Эта версия быстрее и приводит к двум 32-битным хэш-значениям вместо одного. (Это второе хэш-значение может быть использовано для ускорения например, выбор в ведре.)

для тех, кто заинтересован, я мог бы вставить Delphi-перевод здесь? (Это около 170 строк кода.)


антидот RBS очень хорошая библиотека контейнеров (в том числе хэш-UnsortedMap).