问题标签 [fibonacci-heap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 斐波那契堆的设计与分析问题
事实证明,斐波那契堆很难理解——尽管 CLRS 已经做出了很好的尝试来让它理解它是如何工作的。但有些问题我真的不清楚:
- 为什么要选择像 t + 2m 这样的势函数?原因是什么?
- 节点标记背后的原因是什么 - 我看到将节点放在根列表等中很有用,但你为什么要提出这样的方案?
谢谢!
data-structures - 斐波那契堆中的所有树都是二叉树吗?
斐波那契堆是否可能包含一棵不是二叉树的树?如果是这样,这将如何发生?能给我举个例子吗?
fibonacci - 如何将元素插入斐波那契树?
问:如何将元素插入斐波那契树。我在想,因为斐波那契树就像排序树。我必须平衡右树或左树。但如何?
fibonacci-heap - 斐波那契堆的项目理念
我正在上初级计算机编程课程,我(与其他 3 名学生一起)想为最终项目实现斐波那契堆。任何人都可以建议斐波那契堆的一些好的应用吗?一些足够华丽的东西可以成为很好的演示材料?
c++ - 提升斐波那契堆减少操作
新的“堆”提升库包括一个斐波那契堆。每个实现的复杂性可以在这里看到:http: //www.boost.org/doc/libs/1_51_0/doc/html/heap/data_structures.html。
我的问题是:为什么斐波那契堆减少操作是 O(log(N)),而增加操作是 O(1)?
我想尝试在 Dijkstra 算法中使用斐波那契堆,这在很大程度上依赖于快速减少操作。
c++ - 斐波那契堆的 STL?
STL 中的斐波那契堆在哪里?如果 STL 没有实现 Fibonacci Heap,那么在 STL 中使用现有算法和容器来实现它的最佳实践是什么?
algorithm - 斐波那契堆:插入、提取最小值和性能?
我试图了解斐波那契堆,在堆中插入元素的伪代码是:
以下是我不明白的一些事情,
- 什么是
root list containing x
以及如何将它与包含 H 的根列表连接起来?
在提取 min 时,我们执行以下操作:
(这里是其他功能,合并和链接,http://www.cse.yorku.ca/~aaw/Jason/FibonacciHeapAlgorithm.html)
在前面的insert函数中,我们将x的child和p设置为nil,在提取min时,
if <> nil
总是为false,所以如果我们多次调用该函数,它永远不会给出准确的min。如果这个结构被称为斐波那契“堆”,它在哪里维护堆属性?
如果我们在 Dijkstra 算法中使用二进制堆而不是斐波那契堆,所花费的时间会几乎与使用数组或链表一样慢吗?
谁能解释我遇到的困难?谢谢你。
algorithm - 如何显示具有 n 个节点的斐波那契堆可以有高度 n?
我想证明一个具有 n 个节点的斐波那契堆的高度可能为 n。
我用例子试过这个,但我不知道如何展示这个。
math - 为什么斐波那契堆称为斐波那契堆?
斐波那契堆数据结构的名称中有“斐波那契”一词,但数据结构中似乎没有使用斐波那契数。根据维基百科的文章:
斐波那契堆的名称来自运行时间分析中使用的斐波那契数。
这些斐波那契数是如何出现在斐波那契堆中的?