7.3.10 蓝桥杯基础数据结构之平衡树-FHQ Treap
1. 什么是无旋Treap
无旋Treap,又称为FHQ Treap(Fast Heap Quick Treap),是一种结合了二叉搜索树和堆的特性的数据结构。与传统的Treap不同,无旋Treap不依赖于旋转操作来维持树的平衡。它通过随机化的方式来保证树的平衡性,每个节点除了有一个键值(Key)用于维护二叉搜索树的性质,还有一个优先级(Priority)用于维护堆的性质。
2. 无旋Treap的结构
无旋Treap的结构基本上是一个二叉搜索树,其中每个节点包含以下属性:
- Key:用于确定节点在二叉搜索树中的位置。
- Priority:一个随机赋予的值,用于保持树的平衡。在树中任意一颗子树里,父节点的优先级总是大于子节点的优先级。
- 左子节点和右子节点的指针。
由于其结构的简单性,无旋Treap易于实现且效率高。