标签:删除 bsp 优先 功能 升级版 优先队列 ++ 表示 升级
本文是看了黄源河的论文后才写的
如果本人有哪些地方写得不对的,希望各位大佬改正ORZ
学习C++的大佬应该都会优先队列(原谅我的菜,我连priority_queue都不会拼)
左偏树说到底就是一个升级版的堆
因为左偏树拥有所有堆拥有的功能比如说插入一个节点,取出堆顶和删除堆顶
我们的左偏树的优秀到底体现在哪呢?
左偏树可以合并两个堆!!!
如果我们用普通的做法合并两个堆是需要O(N)的时间
那么如果合并操作非常多
那么堆就不在实用了
先来规定左偏树的一些概念
外节点:一个没有右儿子的节点成为外节点
dist[u]:表示在它的儿子中,离它最近的外节点与它的距离
如果u本身就是一个外节点,那么dist[u]=0
如果u节点不存在(也就是空节点),那么dist[u]=-1
左偏树的性质有哪些呢
性质1:节点的键值小于等于它的左右儿子的键值(这是由堆的性质推导出来的)
未完待续
标签:删除 bsp 优先 功能 升级版 优先队列 ++ 表示 升级
原文地址:http://www.cnblogs.com/TUncleWangT/p/7468026.html