二叉树中的成本搜索操作?

时间:2012-03-26 11:32:38

标签: algorithm search data-structures binary-tree complexity-theory

二叉树中搜索操作的成本是多少?是O(n)吗?

5 个答案:

答案 0 :(得分:3)

        Average     Worst case
Space   O(n)        O(n)
Search  O(log n)    O(n)
Insert  O(log n)    O(n)
Delete  O(log n)    O(n)

答案 1 :(得分:2)

是的,它是O(n),因为它是二叉树而不是二叉搜索树。

由于无法判断在“二叉树”中以哪种方式(左或右)分支,我们必须在最坏的情况下搜索整个树。

答案 2 :(得分:1)

搜索元素的平均大小写:O(log n)

最坏情况:O(n)

如果您需要更好(对数)最坏情况下的复杂情况,您可以查看平衡树(AVL,红黑)。

答案 3 :(得分:0)

是它将是O(n),因为你在这个树中没有像二叉搜索树那样的排序条件,所以你必须遍历完整的树,就像数组一样

答案 4 :(得分:0)

根据罗伯特·塞奇威克(Robert Sedgewick)的《算法分析入门》一书,如果此二叉树是通过大小为N的随机排列构造的,则平均成功搜索为 2H_N − 3 + 2H_N / N = 2ln(N)+ O(1),搜索失败的平均值为2H_ {N + 1} − 2 = 2ln(N)+ O(1)。