FibonacciHeap 是最小堆吗?如何使用 FibonacciHeap 找到最大值?
Is FibonacciHeap a min-heap? how to find max using FibonacciHeap?
我的 Java 项目是使用 Max Fibonacci 堆来查找前 n 个最流行的主题标签。
记录可以是这样的:
#saturday 5
#sunday 3
#saturday 10
#monday 2
#reading 4
#playing_games 2
3
但是Fibonacci heap只有find min函数。
'Fibonacci heap'、'Min Fibonacci heap' 和 'Max Fibonacci heap' 有什么区别?
我的想法是使用函数extractmax() n次来获取前n个。但我不知道什么是最大斐波那契堆。
在最小堆和最大堆之间切换很简单,您只需更改比较器即可。堆就是堆,无论往哪个方向发展,算法都不会改变。
求最大元素就是求最小元素,除非你改变顺序。
不要在结构中使用最小堆,而是使用最大堆。
我的 Java 项目是使用 Max Fibonacci 堆来查找前 n 个最流行的主题标签。 记录可以是这样的:
#saturday 5
#sunday 3
#saturday 10
#monday 2
#reading 4
#playing_games 2
3
但是Fibonacci heap只有find min函数。 'Fibonacci heap'、'Min Fibonacci heap' 和 'Max Fibonacci heap' 有什么区别?
我的想法是使用函数extractmax() n次来获取前n个。但我不知道什么是最大斐波那契堆。
在最小堆和最大堆之间切换很简单,您只需更改比较器即可。堆就是堆,无论往哪个方向发展,算法都不会改变。
求最大元素就是求最小元素,除非你改变顺序。
不要在结构中使用最小堆,而是使用最大堆。