我的Java项目是使用Max Fibonacci堆来查找最受欢迎的第n个主题标签。 记录可以是这样的:
#saturday 5
#sunday 3
#saturday 10
#monday 2
#reading 4
#playing_games 2
3
但Fibonacci堆只能找到min函数。 ' Fibonacci heap',' Min Fibonacci heap'和' Max Fibonacci堆' ?
我的想法是使用函数extractmax()n次来获得前n个。但我不知道什么是Max Fibonacci堆。
答案 0 :(得分:2)
在最小和最大堆之间切换是微不足道的,您只需更改比较器即可。堆是一堆,无论它在哪个方向工作,算法都不会改变。
查找最大元素只是找到最小元素,除了更改顺序。
答案 1 :(得分:0)
不使用结构中的最小堆,而是使用最大堆。