Вопрос

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

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

Ткс

Это было полезно?

Решение

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

Другие советы

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

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

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

Вы можете попробовать выполнить поиск в Кодеры.
Здесь у вас есть простая реализация (Проект Winjab), или это От JCL.

ПРИМЕЧАНИЕ:Ознакомьтесь с лицензией codes, прежде чем использовать ее.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top