В предыдущем посте о trie мы описали, как вставить и найти узел в trie. Вот алгоритм, как удалить узел из Trie.
Во время операции удаления мы удаляем ключ снизу вверх, используя рекурсию. Ниже приведены возможные условия при удалении ключа из дерева,
- Ключ не может быть в три. Операция удаления не должна изменять три.
- Ключ представлен как уникальный ключ (ни одна часть ключа не содержит другого ключа (префикса), а сам ключ не является префиксом другого ключа в файле trie). Удалить все узлы.
- Ключ — префиксный ключ другого длинного ключа в Trie. Снимите отметку с листового узла.
- Ключ присутствует в Trie, имея по крайней мере еще один ключ в качестве префиксного ключа. Удалить узлы от конца ключа до первого конечного узла самого длинного префиксного ключа.
В приведенном ниже коде представлен алгоритм для реализации вышеуказанных условий.
|
Выход:
Yes No Yes
— Венки . Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Боггл | Набор 2 (с использованием Trie)
- Стойкий Трие | Комплект 1 (Введение)
- Восходящий обход Trie
- Трие | (Показать содержимое)
- Поиск по дереву Рекурсивно
- Вставка в Trie рекурсивно
- Трие | (Вставить и найти)
- Реализация словаря с использованием Trie
- Функция автозаполнения с использованием Trie
- Программа для назначения имен пользователей с помощью Trie
- Граф инверсий в массиве | Набор 4 (Использование Trie)
- Самый длинный общий префикс с использованием Trie
- Преимущества структуры данных Trie
- Подсчет количества слов в Trie
- Поиск по шаблону с использованием дерева всех суффиксов
0.00 (0%) 0 votes