Как указывает эпитафия, три или дерево-осветитель сделают свое дело. Основное дерево, как правило, будет более эффективно использовать пространство.
Полагаю, существует множество реализаций. Взгляните на мою реализацию здесь .
lookup () позволит вам найти данный ключ.
startwith () вернет все эти ключи и их соответствующие значения, которые начинаются с переданной строки. По сути, это поиск по шаблону.