给出前缀树和密钥。在树中查找密钥的成本是多少?
我在一篇论文中读到它是O(1)。据我所知,它是O(LogM),其中M是密钥的长度。我找不到这个问题的答案,为什么它是O(1),但有一个人提到,如果我们忽略扫描密钥,则可能是O(1)。如果我们忽略扫描密钥,有人可以用图形方式向我解释(通过制作树并遍历)O(1)如何?
答案 0 :(得分:0)
在Trie中查找密钥的成本不是O(1)
。
总时间为O(l)
,其中l
是您要匹配的单词长度的最小值,或树的深度。请注意,许多人将其写为O(log n)
,其中n是树中的总元素。
从树的根开始。您只需要遍历与当前单词匹配的1节点。您继续此遍历,直到您匹配该单词,或该单词不在树中。由于每个节点只搜索1个子节点,因此它为O(l)
。