min-heap

    18

    3答えて

    私は理解しているように、ユーザー定義の構造体のために、それは簡単です。ちょうどオペレータ<をオーバーロードしてください。しかし、int/floatなどの場合、実際にはintのためにオペレータ<をオーバーロードする必要がありますか?ここ は、私が試したものです: #include <iostream> #include <algorithm> #include <vecto

    2

    1答えて

    JavaでMin Heapを実装しようとしていますが、要素の挿入と削除に問題があります。ルートは分)。ほとんどの場合、ヒープを視覚的に表示するプログラムを使用し、minが削除されたときに新しいルーツを表示しています。 私の問題は、新しいアイテムが追加されたときに何らかの理由でルートが新しいアイテムに切り替わることはありませんが、その理由はわかりません。また、これは重複が多い場合にのみ問題になると思

    10

    3答えて

    priority_queueを使用してミニヒープを作成する理由は?std::greaterを使用するのはなぜですか?私に std::priority_queue<T, std::vector<T>, std::greater<T> > min_heap; 最小値は常にヒープの最上部に位置しているため、採用のクラスはstd::less を更新する必要があります:priority_queueのデフ

    10

    1答えて

    私はCLRSを読んでおり、エクササイズ6.5-8に問題がありました。 O(n個のLG k)を与えるkはマージする-timeアルゴリズムは、nが全ての入力 リスト内の要素の総数であるもの ソートリストにリストをソート。 (ヒント:Kウェイマージするmin0heapを使用する)誰もが言うよう 溶液は、k個のリストの最初の要素を使用して分ヒープK-要素を構築する)、 1であり、 2)抽出分()は、ヒープ

    10

    2答えて

    私はカスタムヒストリ関数を定義することによって、minヒープにオブジェクトのセットを格納したいと思っています。私はheapqモジュールがPython配布の一部として利用可能であることを知っています。このモジュールでカスタムコンパレータを使用する方法はありますか?もしそうでなければ、他の誰かがカスタムminヒープを構築していますか?

    1

    1答えて

    以下の問題を解決するためにここでminヒープを使用する方法を知りたいと思います。 私が解決すると考えたことは、ハッシュテーブルを使用して数値の数を保存することです。しかし、問題を解決するために最小のヒープをどのように使用するのか分かりません。 整数の空でない配列が与えられた場合、k個の最も頻繁な要素を返します。 たとえば、 [1,1,1,2,2,3]とk = 2の場合、[1,2]を返します。 注:

    2

    1答えて

    インオーダトラバーサルリストが与えられた場合、バイナリ最小/最大ヒープを作成する最良の方法は何ですか? 私は、次の構文を制限するようにしようとしている:バイナリヒープで使用する ませ配列。実装はノードベースです。 BinaryNode { value, parent, l_child, r_child } Max-Heapに固執しましょう。 質問:我々はBubbleDownを伴う標準の挿入よりも良

    5

    1答えて

    最小ヒープを構築しようとしています。 私はすでに挿入、削除、スワップ、アップヒープ、ダウンヒープを行っており、正しく動作しています。 しかし、私はMin-Heapifyのためのメソッドを書こうとしています。ここで は私の入力です:{} 20,14,9,6,4,5,1 私が期待される出力は分ヒープのためになる:{1,5,4,20、 9,6,14} しかし、私が知っているのは、{14,6,9,20,4