gpt4 book ai didi

algorithm - 构建二叉树的渐近复杂度

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:00:52 24 4
gpt4 key购买 nike

从头开始构建大小为 n 的平衡二叉树的复杂性是多少?

节点插入是O(log n)。

但是,随着时间的推移,累计的时间是

O( (log 1) + (log 2) + ... + (log (n-1)) + (log n) ).

这“加起来”是什么?

它是o(n log(n)),小'o',我不知道小到什么程度。

最佳答案

log(1) + log(2) + ... + log(n) = log(1*2*..*n) = log(n!)Theta(nlogn)

因此,从头开始构建一棵(平衡的)树具有 Theta(nlogn)

的严格渐近界限

编辑:
我还想向您展示一个证明,证明您无法使用任何算法构建比 O(nlogn) 更好的 BST。基本上 - 这是因为它允许比 O(nlogn) 更好的排序,只需使用“更好”的算法构建你的树,然后 - 在树上按顺序遍历并输出元素。结果将是一个排序数组。
中序遍历的复杂度是 O(n),并且由于假设树的构建速度比 O(nlogn) 快 - 我们与以下事实相矛盾排序是 Omega(nlogn) 问题。

关于algorithm - 构建二叉树的渐近复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21476569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com