heap
Iking123
这个作者很懒,什么都没留下…
展开
-
启发式合并(堆、set、splay、treap)/线段树合并学习小记
启发式合并刚听到这个东西的时候,我是相当蒙圈的。特别是“启发式”这三个字莫名的装逼,因此之前一直没有学。实际上,这个东西就是一个SB贪心。以堆为例,若我们要合并两个堆a、b,我们有一种极其简单的做法:那就是比较一下它们的大小,将小的堆的每个元素依次插入到大的堆中。不妨设|a|≤|b||a|≤|b||a|≤|b|,则时间复杂度即为:O(|a|∗log2(|a|+|b|))O(|a|∗log...原创 2018-08-15 21:56:42 · 2059 阅读 · 1 评论 -
左偏树&二项堆&斐波那契堆
左偏树定义左偏树(leftist tree 或 leftist heap),又被成为左倾堆、左偏堆,最左堆等。左倾树是一棵二叉树,它的节点除了和二叉树的节点一样具有左右子树指针外,还有两个属性:键值和零距离。(01) 键值的作用是来比较节点的大小,从而对节点进行排序。(02) 零距离(英文名NPL,即Null Path Length)则是从一个节点到一个"最近的不满节点"的路径长度。不满节点...原创 2019-04-05 16:06:50 · 926 阅读 · 1 评论