問題タブ [heap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
948 参照

algorithm - この再帰アルゴリズムのビッグオー

バイナリ ヒープ構造を含む次のアルゴリズムを実行しました。

アルゴリズムが行うことは、基本的に、ルートを指定して Binary Heap をトラバースし、最小値 (つまり、ルートの値と一致する値) を保持するノードを見つけて格納することです。

現在、アルゴリズムの実行時間を Big O 表記で計算するのに問題があります。私が混乱している理由は、各ノードの左右の子をトラバースするために使用される再帰のためです。

O(1)を除くすべての操作は一定時間で実行されconcatます。しかし、このような再帰的なソリューションの実行時間を正確に計算するにはどうすればよいでしょうか?

0 投票する
2 に答える
2097 参照

c++ - 最小バイナリ ヒープの問題

この minheap コードについて助けが必要です:

このコードは、画面上の最後の要素をポップするときに乱数を出力することを除いて、ほとんどすべてを正しく実行します。あなたの意見は何ですか?

ありがとう!

0 投票する
8 に答える
76335 参照

algorithm - ヒープ内の要素を検索する

ヒープを使用して、要素がその中にあるかどうかをO(logN)時間計算量で検索できることを思い出しました。でもいきなり詳細がわからなくなってしまいました。getmindeleteaddなどしか見つかりません。

誰かがヒントを与えることができますか?

0 投票する
3 に答える
1950 参照

c++ - 動的メモリ割り当てで使用されるヒープとデータ構造の間の関係は何ですか?

重複の可能性:
2つの異なる概念が両方とも「ヒープ」と呼ばれるのはなぜですか?

グーグルで検索しましたが、この質問の答えが見つかりません。動的メモリ割り当てで使用されるヒープとデータ構造の間の関係は何ですか?メモリは、ヒープデータ構造と同様の方法でヒープ上に編成されていますか?もしそうなら、これは非常に奇妙に思えます。なぜなら、メモリのフェッチはランダムアクセスAFAIK(つまり、O(1))であるはずですが、ヒープからのアイテムの検索は一定時間で行われないからです。

それで、これは、いわばヒープの過負荷の意味ですか、それとも何らかの接続がありますか?

0 投票する
2 に答える
3642 参照

sorting - ヒープソート機能の説明が必要

ヒープソートのこれらの機能がどのように機能しているかを誰かが明確に説明できますか?

0 投票する
17 に答える
201010 参照

python - Python での最大ヒープの実装には何を使用しますか?

Python には最小ヒープ用の heapq モジュールが含まれていますが、最大ヒープが必要です。Python での最大ヒープの実装には何を使用すればよいですか?

0 投票する
7 に答える
54329 参照

algorithm - ヒープを使用して線形時間で数値の中央値を見つけるにはどうすればよいですか?

ウィキペディアは次のように述べています。

選択アルゴリズム: ヒープを使用して、最小値、最大値、最小値と最大値の両方、中央値、さらには k 番目に大きい要素を見つけることを線形時間で行うことができます。

それが言っているのは、それができるということだけであり、方法ではありません。

ヒープを使用してこれを行う方法を教えてください。

0 投票する
2 に答える
41617 参照

c++ - C++ で最小ヒープを作成する簡単な方法はありますか?

私は C++ に非常に慣れていないので、標準ライブラリから C++ で最小ヒープを作成する方法があるかどうか疑問に思っていました。

0 投票する
7 に答える
4767 参照

java - Javaがメモリ割り当てにヒープを使用するのはなぜですか?

私は、Javaのオブジェクトがヒープ上にあるというJavaの本でこのステートメントを読んだばかりです。データを保存してデータを高速に取得するための最良の方法であるため、ヒープが使用されていますか?

私はデータ構造が初心者であることについてしか考えていません。スタックか何か他のものを使ってみませんか?

0 投票する
4 に答える
3043 参照

c++ - C++ STL の make_heap と pop_heap が機能しない

ヒープを使用する必要があるため、STL について検索しましたが、機能していないようです。意味を説明するコードをいくつか書きました。

そして、これは私が得るものです:

したがって、ベクトルの最大要素が正しく返されないため、ヒープとして機能しません。

それとも私は何か間違ったことをしていますか?