如何为Patricia Trie实现删除/删除功能?

时间:2011-03-27 08:44:08

标签: patricia-trie

我已经部分实现了Patricia Trie,它仍然没有完成,因为它缺少用于从Trie中删除节点的删除/删除功能,我发现this article描述了结构,在C ++中有一个实现,有一个删除/删除功能,但我无法弄清楚实现背后的想法。

如何从Trie中删除节点并将Trie保持在正确的状态?

1 个答案:

答案 0 :(得分:1)

我最近在C中实现了PATRICIA。为了删除一个节点,找到一个向下指向trie的下行节点到受害者(这可能是受害者节点本身。)

一旦找到,如果受害者节点不是后向引用者,则用其引用者切换受害者。这使受害者接近成为“叶子”节点,其后向引用将是自己的。那么删除非常简单。