Вы можете получить 30% + степень сжатия за счет сохранения слов в виде последовательных суффиксов в 7-битном формате. Я не уверен, как это называется, но довольно эффективно переводится в древовидную структуру.
напр .:
а + п + д + з | ап + д + у | + и ES + Roid
- это 26 символов, по сравнению с:
а
объявление
как
а также
любой
Анды
андроид
, что составляет 33.
С учетом степени сжатия 12,5% для хранения в виде 7-битного контента, это составляет около 31% общего сжатия. Коэффициент сжатия зависит, конечно, от размера и содержания вашего списка слов.
Превращение этого в структуру с 26 корневыми деревьями, вероятно, приведет к поискам, которые будут быстрее, чем сравнение подстрок с открытым текстом с плоским файлом.
Если подумать, если вы используете только 26 символов плюс два для разделителей, вы можете делать все в 5 битах, что само по себе является 37,5% -ным сжатием, в результате чего приведенный выше пример более чем на 50%. ставка.