Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 移位二叉树_Algorithm_Binary Search Tree - Fatal编程技术网

Algorithm 移位二叉树

Algorithm 移位二叉树,algorithm,binary-search-tree,Algorithm,Binary Search Tree,我不太清楚这个想法叫什么。我想维护一个平衡的二叉搜索树,在这个树中,我经常会向树中添加一个新的最高元素,然后删除树中最小的元素。这始终是一个O(log(n))操作,还是可以在固定时间内完成此特定转换 自平衡二叉树有用吗?我相信您正在寻找的数据结构称为a 它总是平衡的。最大元素总是根元素,可以在O(1)时间内检索到。所有插入和删除都在O(logn)时间内完成(在最坏的情况下)。如果将其实现为一个数组,那么它的大小也是有限的。(不记得插入时是否始终删除最小值) 它需要执行两个O(logN)操作。没有

我不太清楚这个想法叫什么。我想维护一个平衡的二叉搜索树,在这个树中,我经常会向树中添加一个新的最高元素,然后删除树中最小的元素。这始终是一个
O(log(n))
操作,还是可以在固定时间内完成此特定转换


自平衡二叉树有用吗?

我相信您正在寻找的数据结构称为a


它总是平衡的。最大元素总是根元素,可以在O(1)时间内检索到。所有插入和删除都在O(logn)时间内完成(在最坏的情况下)。如果将其实现为一个数组,那么它的大小也是有限的。(不记得插入时是否始终删除最小值)

它需要执行两个
O(logN)
操作。没有办法更快地做到这一点,因为BST并不是设计用来做这些事情的。我也不确定它是否能使你的搜索树保持平衡。(
我不确定这个想法叫什么
-标题
移位
)我怀疑
我想保持一个平衡的二叉搜索树
-大多数时候,有需要保存的数据和需要执行/支持的操作:您不知道是哪些操作。