Trie — Визуализатор алгоритмов

Шаг 1:An empty trie: just a root node that holds no character. Every word is a path down from here.

Trie

Средний
Временная сложность
O(n²)O(n log n)O(n)O(log n)O(1)n →
Лучший: O(1)

Trie — это структура данных для хранения строк с использованием общих префиксов. Каждое ребро представляет собой символ, а путь от корня до узла образует префикс. Поиск выполняется за O(L), где L — длина слова, независимо от количества сохранённых слов.

Как это работает:

1. Каждый узел содержит карту дочерних узлов (символ → узел) и флаг isEnd
2. При вставке слово обходится посимвольно, а новые узлы создаются только при необходимости
3. isEnd обозначает конец настоящего слова, поэтому "ca" может быть путём в дереве, но не отдельным словом

Почему не хеш-таблица:

Хеш-таблица также ищет точный ключ за O(L),
но не может ответить на вопрос «какие слова начинаются с ca?»
без перебора всех ключей. Trie проходит всего 2 узла,
после чего всё поддерево содержит нужные слова.

Временная сложность:

Лучшая: O(1), если первый символ не совпадает
Средняя: O(L) для insert, search и startsWith
Худшая: O(L) — никогда не зависит от количества слов

Пространственная сложность: O(n × L) — главный недостаток структуры. Radix-деревья уменьшают расход памяти, сжимая цепочки узлов с одним потомком.

Применение: автодополнение, проверка орфографии, таблицы IP-маршрутизации (поиск самого длинного совпадающего префикса), клавиатуры T9, словесные игры, автодополнение символов в редакторах

Похожие алгоритмы

Частые вопросы

Что такое Trie (Префиксное дерево)?
Trie — это структура данных для хранения строк с использованием общих префиксов. Каждое ребро представляет собой символ, а путь от корня до узла образует префикс. Поиск выполняется за O(L), где L — длина слова, независимо от количества сохранённых слов.
Какова сложность Trie (Префиксное дерево)?
Время (среднее): O(L) для insert, search и startsWith · Память: O(n × L)
Для кого предназначена визуализация Trie (Префиксное дерево)?
Визуализация Trie (Префиксное дерево) рассчитана на средний уровень в категории «Структуры данных». Полезна для студентов, подготовки к собеседованиям и практического изучения.
Какие алгоритмы связаны с Trie (Префиксное дерево)?
В той же категории (Структуры данных) вы можете изучить: Stack, Queue, Linked List. Каждый из них имеет интерактивную визуализацию.