min-heap

    19

    2答えて

    私はダイクストラのアルゴリズムについてCLRSの第3版(p。662)を読んでいます。ここで私は理解していない本から一部です: - 具体的には、E = o(V^2/lg V) - をグラフが十分に希薄である場合、我々はバイナリ分、ヒープを最小プライオリティキューを実装することにより、アルゴリズムを改善することができます。 グラフが疎なのはなぜですか?ここで 別の部分である: 各DECREASE-KE

    -4

    1答えて

    こんにちは、これらのxが最小ヒープの正しい位置にあるのでしょうか?私は正しいですか?

    -1

    1答えて

    ヒープとPQの概念が初めてです。だから私はミニヒープを使ってPQを使ってスタックを実装しようとしていました。私は、次のメソッドを実装しようとしています : ポップ ポップ のisEmpty トップ 以下のサイズを はコードです: import java.util.*; import java.lang.System; public class StackUsingMinPriorityQueu

    1

    1答えて

    プロローグで値を返すにはどうすればよいですか? ツリーのノードを見つけて、それが最小ヒープであるかどうかをチェックする必要があります。 が、私はそれがこのような何かを行く推測している: - これまでのところ getnode(tree(_, node, _), node). 私のコードは、この minheap(tree(L, Node, empty)) :- getnode(L, Va

    2

    1答えて

    次の例を考えてみましょう。私はminヒープに乱数を追加しています。同時に、同じヒット数で同じ数字を同じヒット数に追加しています。だから最後の2つのヒープは、同じヒット数のヒープと2つ目のヒープが同じヒット数になります。 私は最大ヒープから最大要素を削除することを決定した場合、最大ヒープからの最大の要素は常に分ヒープの一番下には以下となります。 今ここに質問ですか!もしそうでなければ、もう一つの質問

    0

    1答えて

    以下は、ブックからの標準ロジックを使用して0ベースの配列を使用して最小ヒープを構築するプログラムです。左の子には2*i+1、右の子には2*i+2が使用されています。これは、ゼロベースの配列なので、間違った出力が得られています。私は何が欠けていますか? #include <iostream> #include <vector> #include <algorithm> using std::

    0

    1答えて

    ウィキペディアによると、これは最小ヒープ:https://en.wikipedia.org/wiki/Min-max_heapです。私はO(n)にこのmin-maxヒープを構築する方法があるかどうか疑問に思っていました。私はminヒープとmaxヒープの両方でこれを行うことができると知っていますが、これに対するアプローチは何か分かりません。要素を挿入するとO(log n)時間の複雑さがかかり、この種

    0

    1答えて

    私はサイズの順番でHashSetを注文する優先キューを実装しようとしています(最小のHashSetが最も優先順位が高くなります)。 これをJavaでどのように実装できますか? 以下は、HashSetsを優先順位番号(最高の優先順位)で注文するのに成功した私の試みです。 私の主な方法: System.out.print("Enter size of priority queue: ");

    0

    1答えて

    最小ヒープを持つDijkstraの実装があり、最大ヒープまで最小ヒープに変更しようとしましたが、出力が間違っていました この実装を最大ヒープに変更する手助けをしてください。 多くのおかげ代わり最小ヒープの最大ヒープが最長経路を見つけるアルゴリズムをもたらさない使用ダイクストラのアルゴリズムを実装 public class DikjstraAlgorithm { public static voi