📜  门|门CS 2012 |问题 5

📅  最后修改于: 2021-09-25 04:17:04             🧑  作者: Mango

在具有 n2^n 个元素的二叉搜索树中搜索平衡元素的最坏情况运行时间是

(一种) \Theta(n log n) (二) \Theta (n2^n) (C) \Theta (n) (四) \Theta (log n)

(一) A
(乙)
(C)
(四)答案: (C)
解释:

-> 二叉搜索树中的搜索时间取决于树的形式,即其节点插入的顺序。一个病态的例子:通过增加键的顺序插入 n 个节点,产生类似于线性列表的东西(但空间消耗更糟),搜索时间为 O(n)(在倾斜树的情况下)。

-> 平衡树是这样一种树,其中每片叶子与任何其他叶子的距离都“不超过一定距离”。因此,在平衡树中,树的高度是平衡的,以使根节点和叶子节点之间的距离为尽可能低。在平衡树中,树的高度为 log 2 (n)。

-> 所以,如果平衡二叉搜索树包含 n2n 个元素,那么搜索项目的时间复杂度:

时间复杂度 = log(n2 n ) = log (n) + log(2 n )
= log (n) +n = O(n)

所以答案是C。

见 https://www.geeksforgeeks.org/data-structures-and-algorithms-set-28/

此解决方案由Nirmal Bharadwaj 提供
这个问题的测验