FibonacciHeap #
- new FibonacciHeap()
- 实例
- 静态
new FibonacciHeap() #
创建一个新的 Fibonacci 堆实例。
fibonacciHeap.insert() #
将一个新的数据元素插入堆中。此时不执行任何堆合并,新节点仅插入到此堆的根列表中。运行时间:O(1) 实际。
类型:[FibonacciHeap](#FibonacciHeap) 的实例方法
fibonacciHeap.size() #
返回堆中的节点数。运行时间:O(1) 实际。
类型:[FibonacciHeap](#FibonacciHeap) 的实例方法
fibonacciHeap.clear() #
从此堆中移除所有元素。
类型:[FibonacciHeap](#FibonacciHeap) 的实例方法
fibonacciHeap.isEmpty() #
如果堆为空,则返回 true,否则返回 false。
类型:[FibonacciHeap](#FibonacciHeap) 的实例方法
fibonacciHeap.extractMinimum() #
从堆中提取具有最小键的节点。均摊运行时间:O(log n)。
类型:[FibonacciHeap](#FibonacciHeap) 的实例方法
fibonacciHeap.remove() #
给定节点的引用,从堆中移除一个节点。如果需要,将合并堆中的树。如果存在键值为 -Infinity 的节点,此操作可能无法正确移除元素。运行时间:O(log n) 均摊。
类型:[FibonacciHeap](#FibonacciHeap) 的实例方法
FibonacciHeap._decreaseKey() #
给定新的键值,减小堆节点的值。堆的结构可能会被更改,并且不会被合并。运行时间:O(1) 均摊。
类型:[FibonacciHeap](#FibonacciHeap) 的静态方法
FibonacciHeap._cut() #
链接操作的反向操作:从父节点的子列表中移除节点。此方法假定 min 非空。运行时间:O(1)。
类型:[FibonacciHeap](#FibonacciHeap) 的静态方法
FibonacciHeap._cascadingCut() #
执行级联剪切操作。这会将节点从其父节点剪切,然后对父节点执行相同的操作,依此类推,直到树的顶部。运行时间:O(log n);不包括递归为 O(1)。
类型:[FibonacciHeap](#FibonacciHeap) 的静态方法
FibonacciHeap._linkNodes() #
将第一个节点作为第二个节点的子节点。运行时间:O(1) 实际。
类型:[FibonacciHeap](#FibonacciHeap) 的静态方法