Как реализовать функцию удаления / удаления для Patricia Trie? - PullRequest
1 голос
/ 27 марта 2011

Я частично реализовал Patricia Trie, он все еще не завершен, так как в нем отсутствует функция delete / remove , которая используется для удаления узлов из Trie. Я нашел эту статью описывающая структуру, которая поставляется с реализацией на C ++, есть функция удаления / удаления, но я не могу понять, в чем идея реализации.

Как мне удалить узел из Trie и оставитьТри в правильном состоянии?

1 Ответ

1 голос
/ 15 августа 2012

Я недавно внедрил PATRICIA в C. Чтобы удалить узел, найдите нисходящий узел, который указывает на обратный ход вверх по дереву к жертве (это может быть сам узел жертвы).

Если найден узел жертвы, НЕ являющийся обратным реферером, поменяйте жертву своим реферером. Это ставит жертву близко к тому, чтобы быть «листовым» узлом, и ее обратная ссылка будет на себя. Удаление очень простое.

...