平衡的二叉搜索树,也是一个堆

时间:2012-09-08 05:18:53

标签: algorithm data-structures heap binary-search-tree

我正在寻找一个数据结构,其中每个元素都有两个键。其中一个结构是BST并且查看另一个,数据结构是堆。通过一点点搜索,我找到了一个名为Treap的结构。它使用堆属性和堆密钥上的随机分布来使BST平衡!

我想要的是平衡BST,它也可以是一堆。如果我按照我选择的顺序插入具有堆密钥的元素,则Treap中的BST可能是不平衡的。

是否有这样的数据结构?

1 个答案:

答案 0 :(得分:1)

优先搜索树是平衡BST和堆的结构。有关详细信息,请参阅this paper或本书:"Handbook of Data Structures and Applications"(第18.5章)。

此结构可用于有效搜索在给定范围内具有最少“堆”键和“BST”键的元素。