TGViewer
Java Learning Java Learning @java_per_month · 16.5K subscribers
Post #2142 2.47K
Trie

Trie (или префиксное дерево) — это древовидная структура данных, предназначенная для эффективного хранения множества строк, где ключи представляют собой последовательности символов. Trie предоставляет эффективный способ поиска, вставки и удаления строк. Он основан на представлении ассоциативного массива, где ключом является строка.

Основные компоненты Trie:
Узел Trie (Trie Node): Каждый узел содержит ссылки на дочерние узлы, представляющие следующие символы в строке, а также флаг, указывающий, является ли этот узел концом строки.

Корень Trie (Trie Root): Вершина дерева, которая не содержит символ, но имеет ссылки на дочерние узлы, представляющие все возможные первые символы строк.

Операции Trie:
Вставка (Insertion): Для вставки строки в Trie, мы начинаем с корня и последовательно добавляем узлы для каждого символа строки. При этом, если узел уже существует для данного символа, мы просто переходим к следующему узлу. Последний узел строки помечается как конец строки.

Поиск (Search): Поиск строки в Trie осуществляется путем последовательного перехода от корня к листу, используя символы строки в качестве направляющих индикаторов. Если в какой-то момент мы достигаем узла, у которого нет соответствующего символа или строки, то строка отсутствует в Trie.

Поиск по префиксу (Prefix Search): Эта операция позволяет определить, существует ли какая-либо строка, начинающаяся с заданного префикса. Мы просто выполняем поиск, не обязательно дойдя до конца строки.

#для_продвинутых
  • 👍 13
More from @java_per_month
  1. Oct 6, 2026🤺 Почему ты получаешь отказ после «норм собеса»? Дело не в знаниях — ты просто не знаешь,…
  2. Oct 6, 2026⚙️ Set.retainAll() В Java метод Set.retainAll() позволяет оставить только те элементы множ…
  3. Sep 14, 2026❓ Вопрос на собеседовании Что такое ForkJoinPool в Java, как он работает, и как его исполь…
  4. Sep 4, 2026⚙️ List.subList() В Java метод subList() позволяет создать представление части списка. Это…
  5. Sep 1, 2026🔴 Завтра тестовое собеседование с Java-разработчиком 2 сентября(уже завтра!) в 19:00 по м…
  6. Aug 17, 2026➡️ Quarkus — быстрый и лёгкий фреймворк для Java-приложений Quarkus — оптимизированный фре…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →