二叉树中搜索操作的成本是多少?是O(n)吗?
答案 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)。