Fibonacci堆是一个相当复杂的优先级队列,在所有 *** 作上都有出色的渐近行为-插入,查找-最小和减小键全部在O(1)摊销时间内运行,而删除和提取-
最小在摊销O中运行(lg
n)时间。如果您想在这个主题上有很好的参考,我强烈建议您拿起CLRS的“算法简介,第二版”的副本,并阅读其中的章节。它写得很好并且非常说明性。
弗雷德曼(Fredman)和塔里安(Tarjan)撰写的有关斐波那契堆的原始论文可在线获得,您可能想看看。它很稠密,但是可以很好地处理材料。
如果您想看到Fibonacci堆的实现和Prim的算法,我必须为自己的实现提供一个无耻的插件:
- 我的斐波那契堆的实现。
- 我使用Fibonacci堆实现Prim算法的实现。
这两个实现中的注释都应该很好地描述它们如何工作。让我知道我是否可以做任何澄清的事情!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)