A trie лучше подходит для такого рода вещей, поскольку позволяет хранить ваши символы в виде дерева и быстро анализировать их на соответствие значениям (или отклонять их).
И в качестве бонуса вам вообще не нужен хеш. Вы сохраняете / извлекаете / сравниваете всю последовательность сразу, но при этом сохраняете только минимальный объем памяти.
Редактировать: И в качестве дополнительного бонуса, с помощью только второго анализа, вы можете искать последовательности, которые «близки» к вашей текущей последовательности, так что вы можете избавиться от последовательности и использовать предыдущую для них обоих, с некоторыми внутренними обозначениями для хранения различий. Это поможет вам лучше сжать файлы, потому что:
- меньший словарь означает меньшие файлы, вы должны записать словарь в свой файл
- меньшее количество предметов может освободить место для хранения других, более редких последовательностей, если вы добавите ограничение населения и ударите по нему большим файлом.