Балдология, как оказалось (вы ведь слышали о существовании такой науки, правда?), имеет на Хабре отражение в виде нескольких статей, вот они: [«Алгоритм быстрого поиска слов в игре балда»][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