gpt4 book ai didi

algorithm - 在 O(log n) 中找到第 k 个最小元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:51:29 26 4
gpt4 key购买 nike

我知道如果平衡,BST 高度是 O(log(n)),这意味着搜索是 O(log(n)),但是将一棵不平衡的树变成平衡的树会增加插入/删除,因为您必须在每次插入/删除后重新平衡它。

是否有另一种方法可以修改 BST,以便我可以在 O(log(n)) 时间内找到第 K 个最小项,而不影响其他函数的运行时间?

最佳答案

but making an unbalanced tree into a balanced one would increase the run-time of inserting / deleting, since you would have to rebalance it after each insertion / deletion.

不对,自平衡二叉树也有O(log n)的插入和删除。基本原因是,虽然您确实需要进行重新平衡,但每次操作重新平衡本身总共需要 O(log n)

看看AVL trees了解它如何能够在不影响操作复杂性的情况下重新平衡。

关于algorithm - 在 O(log n) 中找到第 k 个最小元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19305528/

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