0

我的 Java 项目是使用 Max Fibonacci heap 来查找前 n 个最流行的主题标签。记录可以是这样的:

#saturday 5 
#sunday 3 
#saturday 10 
#monday 2 
#reading 4 
#playing_games 2
3

但是斐波那契堆只有 find min 功能。“斐波那契堆”、“最小斐波那契堆”和“最大斐波那契堆”有什么区别?

我的想法是使用函数 extractmax() n 次来获得前 n 次。但我不知道什么是最大斐波那契堆。

4

2 回答 2

2

在最小堆和最大堆之间切换很简单,您只需更改比较器即可。堆就是堆,无论它朝哪个方向工作,算法都不会改变。

找到最大元素只是找到最小元素,除非您更改排序。

于 2016-10-07T21:01:45.323 回答
0

不要在结构中使用最小堆,而是使用最大堆。

于 2016-10-31T23:40:34.510 回答