Re[2]: ternary tree / minimal perfect hash
От: c-smile Канада http://terrainformatica.com
Дата: 24.09.04 21:25
Оценка:
Здравствуйте, korzhik, Вы писали:

K>Здравствуйте, c-smile, Вы писали:


CS>>Второй вариант — воспользоваться предлагаемой имплементацией ternary tree [2]:


K>спасибо, очень полезная вещь.

K>правда я пока не тестил, но думаю от вас всё идёт со знаком качества.

Спасибо

K>кстати имплементацию в boost::spirit'е не смотрели?

K>если интересно то путь такой boost\spirit\symbols\impl\tst.ipp

Спасибо за ссылку, глянул.

На вскидку что бросается в глаза сразу — это аллокция nodes в heap что в общем-то не эффективно для массива структур имеющих одинаковый размер экземпляров. Плюс расход памяти.
У меня например вместо указателя на node хранится его индекс который в большинстве случав может быть short int а не pointer как в boost/spirit.

Например для моего тестового примера таблица имен цветов в HTML (http://www.w3schools.com/html/html_colornames.asp) примерно 140 элементов.
Количество nodes примерно 1030. (Для справки общее количество символов во всех словах таблицы около 1200).Т.е. при аллокации на хипе несколько затратно/неэффективно получается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.