2016-10-07 4 views
0

私のJavaプロジェクトでは、最大のフィボナッチヒープを使用して、最も人気のあるトップハッシュタグを検索します。 レコードは、このようなことができます:FibonacciHeapは最小ヒープですか? FibonacciHeapを使って最大値を見つける方法は?

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

しかし、フィボナッチヒープのみがmin関数を探しています。 'フィボナッチヒープ'、 '最小フィボナッチヒープ'、 '最大フィボナッチヒープ'の違いは何ですか?

私の考えは、関数extractmax()をn回使ってトップnを得ることです。しかし私はMax Fibonacciヒープが何であるか分からない。

答えて

2

最小ヒープと最大ヒープの切り替えは簡単ですが、コンパレータを変更するだけです。ヒープはヒープですが、どちらの方向に作業していても、アルゴリズムは変更されません。

最大要素を見つけることは、注文を変更することを除いて、最小要素を見つけることに過ぎません。

+0

申し訳ありません。私はあなたを得ない。フィボナッチヒープはfindmin()を使用できます。 minがルートであるためです。ルートに最大値を格納するフィボナッチヒープはありますか? – user92322

+0

これはフィボナッチヒープコードの '<' to '>'を変更したときとまったく同じものです。 –

0

構造に最小ヒープを使用する代わりに、最大ヒープを使用します。

関連する問題