左偏树
来源:互联网 发布:大数据岗位 知乎 编辑:程序博客网 时间:2024/06/08 11:10
一、定义
1.首先了解
左偏树(Leftist Tree)是一种可并堆(Mergeable Heap) ,它除了支持优先队列的三个基本操作(插入,删除,取最小节点),还支持一个很特殊的操作——合并操作。
左偏树是一棵堆有序(Heap Ordered)二叉树。
左偏树满足左偏性质(Leftist Property)。
2.左偏性质
外结点—左子树或右子树为空的节点。
距离dis(i)—节点 i 到它后代中最近的外结点经过的边数。
左偏性质:对于任意节点,其左子节点的距离不小于右子节点的距离(左偏性质)。
由左偏性质可知,一个节点的距离dis等于以该节点为根的子树最右路径的长度。
3.左偏树的性质
【1】若一棵左偏树有N个节点,则该左偏树的距离不超过 ⎣log(N+1)⎦ -1。
4.操作
合并(递归):总是先将tree1的右子树与tree2合并(tree1的根小于tree2的根)
合并操作都是一直沿着两棵左偏树的最右路径进行的。
Function Merge(A, B)
If A = NULL Then return B
If B = NULL Then return A
If key(B) < key(A) Then swap(A, B)
right(A) ← Merge(right(A), B)
If dist(right(A)) > dist(left(A)) Then
swap(left(A), right(A))
If right(A) = NULL Then dist(A) ← 0
Else dist(A) ← dist(right(A)) + 1
return A
End Function
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- 左偏树
- Spring Security OAuth2实现使用JWT
- 创建maven,以及汤姆猫访问不到
- 实用的google chrome插件
- Spark的概念和特征
- cmd命令生成android签名证书
- 左偏树
- 修改客户地址别名报错APP-AR-294464
- 微信运营注意什么问题?公众平台运营问题解答。
- hdu 1824 Let's go home (2-sate)
- 购物车的修改查找排序批量删除
- Netty源码分析(二)—客户端初始化
- 数据结构实验之图论六:村村通公路
- Android用NoHttp+MVP构建项目框架
- 2017_11_22 学习Json数据与Java对象互转的两种方式(一)