摘要:
在上一节中我们看到了可合并堆的样子. 这次我们看一个均摊意义更高效的算法. Fibonacci堆. 1. 本节的操作和目标 实现的操作: Insert, Remove-Min, Union使用\(O(1)\)的时间. 方法: 实现一个"懒"的Binomial Heap. 直到最后的时候才合并. 如D 阅读全文
posted @ 2023-12-25 15:47
Micoael_Primo
阅读(31)
评论(0)
推荐(0)
摘要:
1. 回顾堆 通常的堆叫做二叉堆(binary heap). 由于只有两个孩子, 可以使用数组存储. 并且兄弟之间没有关系. 这是几乎完全的二叉树. 问题: 需要合并两个最小堆. 如何办? 想法1. 把一个往另一个里面合并. 需要\(O(m\log (m+n))\)的时间复杂度. 观察: 一个堆不一 阅读全文
posted @ 2023-12-25 11:01
Micoael_Primo
阅读(62)
评论(0)
推荐(0)