将节点插入二叉搜索树的最坏时间复杂度是多少?
答案 0 :(得分:4)
如果你有一个不做任何平衡的“纯”二叉搜索树,那么插入元素的最坏情况运行时是Θ(n)。如果您有一个简并二进制搜索树(每个节点只有一个子节点),并且您最终插入的元素最终成为最深节点的子节点,则会发生这种情况。例如,如果您尝试通过插入数字1,2,3,...,n来构建BST,在每个步骤中插入剩余数字中最小或最大的数字,您将触发此情况
如果您使用的是自平衡二叉搜索树,例如AVL树或红/黑树,则最坏情况的运行时为Θ(log n),因为这些树保证树的高度不会超过Θ(log n)和插入的运行时间在最坏的情况下与树的高度成比例。
答案 1 :(得分:2)
O(n)
其中n
是节点数。例如,如果您以有序的方式插入所有键