算法合集之《左偏树的特点及其应用》.ppt
《算法合集之《左偏树的特点及其应用》.ppt》由会员分享,可在线阅读,更多相关《算法合集之《左偏树的特点及其应用》.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、左偏树的特点及其应用左偏树的特点及其应用广东省中山市第一中学广东省中山市第一中学广东省中山市第一中学广东省中山市第一中学 黄源河黄源河黄源河黄源河1Winter Camp 2005 演示稿左偏树的定义l左偏树左偏树(Leftist Tree)是一种可并堆可并堆(Mergeable Heap),它除了支持优先队列的三个基本操作(插入,删除,取最小节点),还支持一个很特殊的操作合并操作。l左偏树是一棵堆有序堆有序(Heap Ordered)二叉树。l左偏树满足左偏性质左偏性质(Leftist Property)。2Winter Camp 2005 演示稿左偏树的定义 左偏性质l定义一棵左偏树中的外
2、节点外节点(External Node)为左子树或右子树为空的节点。l定义节点 i 的距离距离(dist(i)为节点 i 到它的后代中,最近的外节点所经过的边数。l任意节点的左子节点的距离不小于右子节点的距离(左偏性质)。l由左偏性质可知,一个节点的距离等于以该节点为根的子树最右路径的长度。3Winter Camp 2005 演示稿左偏树的性质l定理:若一棵左偏树有N个节点,则该左偏树的距离不超过 log(N+1)-1。最右路径:ACG最右路径节点数=3距离=28个节点的左偏树的最大距离:log(8+1)-1=2ABD00012EHF 0G 01C最右路径长度即为左偏树的距离4Winter C
3、amp 2005 演示稿左偏树的操作l左偏树支持下面这些操作:MakeNull 初始化一棵空的左偏树Merge 合并两棵左偏树Insert 插入一个新节点Min 取得最小节点DeleteMin 删除最小节点Delete 删除任意已知节点Decrease 减小一个节点的键值5Winter Camp 2005 演示稿左偏树的操作 合并l合并操作是递归进行的a dist(L1)aL1R交换左右子树并更新根节点距离合并后的右子树距离可能大于左子树距离8Winter Camp 2005 演示稿左偏树的操作 合并l合并操作的代码如下:Function Merge(A,B)If A=NULL Then re
4、turn BIf B=NULL Then return AIf key(B)dist(left(A)Thenswap(left(A),right(A)If right(A)=NULL Then dist(A)0Else dist(A)dist(right(A)+1return AEnd Function9Winter Camp 2005 演示稿左偏树的操作 合并l下面是一个合并的例子:61218243718700120013108261711000Merge(3,6)10Winter Camp 2005 演示稿左偏树的操作 合并l下面是一个合并的例子:61218243718782617Merg
5、e(8,6)Merge(3,6)11Winter Camp 2005 演示稿左偏树的操作 合并l下面是一个合并的例子:3718782617Merge(8,7)Merge(8,6)Merge(3,6)12Winter Camp 2005 演示稿左偏树的操作 合并l下面是一个合并的例子:18Merge(8,18)Merge(8,7)Merge(8,6)Merge(3,6)NULL8261713Winter Camp 2005 演示稿左偏树的操作 合并l下面是一个合并的例子:Merge(8,7)Merge(8,6)Merge(3,6)188261737701?14Winter Camp 2005 演
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 左偏树的特点及其应用 算法 左偏树 特点 及其 应用
限制150内