[#] Как я гонял Балду-2, или в поисках оптимального алгоритма
habrabot(difrex,1) — All
2015-06-04 13:00:02


Балдология, как оказалось (вы ведь слышали о существовании такой науки, правда?), имеет на Хабре отражение в виде нескольких статей, вот они: [«Алгоритм быстрого поиска слов в игре балда»][1] [«Алгоритм и тактика поиска слов в игре Балда»][2] [«Как я гонял Балду на Visual Basic for Applications для MS Access»][3] Эта статья — продолжение моей предыдущей, последней в списке. Отправными точками для написания были присланные мне в комментариях ссылки на способ хранения словаря в виде дерева (статья в Википедии с [описанием алгоритма Trie][4]), а также упоминание коллеги [chibiryaev][5] о его собственной реализации поиска, которая тратит на нахождение слова в словаре из 110 000 элементов всего 16 миллисекунд! Собственно, задача №1 – увеличение скорости поиска слов в текстовом массиве. Начнем с реализации алгоритма Trie. Для этого нам необходимо поместить весь словарь существительных (43 303 слова) в структуру связанного дерева. Visual Basic не поддерживает переменных-ссылок, подобно C++ или C# (не говоря уже о Pascal), но в этом качестве вполне подойдут индексы массива. [Читать дальше →][6]

[1]: http://habrahabr.ru/post/207734/
[2]: http://habrahabr.ru/post/211618/
[3]: http://habrahabr.ru/post/244217/
[4]: https://en.wikipedia.org/wiki/Trie
[5]: http://habrahabr.ru/users/chibiryaev/
[6]: http://habrahabr.ru/post/259501/#habracut