問題タブ [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.
c++ - 動的メモリ割り当てで使用されるヒープとデータ構造の間の関係は何ですか?
重複の可能性:
2つの異なる概念が両方とも「ヒープ」と呼ばれるのはなぜですか?
グーグルで検索しましたが、この質問の答えが見つかりません。動的メモリ割り当てで使用されるヒープとデータ構造の間の関係は何ですか?メモリは、ヒープデータ構造と同様の方法でヒープ上に編成されていますか?もしそうなら、これは非常に奇妙に思えます。なぜなら、メモリのフェッチはランダムアクセスAFAIK(つまり、O(1))であるはずですが、ヒープからのアイテムの検索は一定時間で行われないからです。
それで、これは、いわばヒープの過負荷の意味ですか、それとも何らかの接続がありますか?
sorting - ヒープソート機能の説明が必要
ヒープソートのこれらの機能がどのように機能しているかを誰かが明確に説明できますか?
python - Python での最大ヒープの実装には何を使用しますか?
Python には最小ヒープ用の heapq モジュールが含まれていますが、最大ヒープが必要です。Python での最大ヒープの実装には何を使用すればよいですか?
algorithm - ヒープを使用して線形時間で数値の中央値を見つけるにはどうすればよいですか?
ウィキペディアは次のように述べています。
選択アルゴリズム: ヒープを使用して、最小値、最大値、最小値と最大値の両方、中央値、さらには k 番目に大きい要素を見つけることを線形時間で行うことができます。
それが言っているのは、それができるということだけであり、方法ではありません。
ヒープを使用してこれを行う方法を教えてください。
c++ - C++ で最小ヒープを作成する簡単な方法はありますか?
私は C++ に非常に慣れていないので、標準ライブラリから C++ で最小ヒープを作成する方法があるかどうか疑問に思っていました。
java - Javaがメモリ割り当てにヒープを使用するのはなぜですか?
私は、Javaのオブジェクトがヒープ上にあるというJavaの本でこのステートメントを読んだばかりです。データを保存してデータを高速に取得するための最良の方法であるため、ヒープが使用されていますか?
私はデータ構造が初心者であることについてしか考えていません。スタックか何か他のものを使ってみませんか?
c++ - C++ STL の make_heap と pop_heap が機能しない
ヒープを使用する必要があるため、STL について検索しましたが、機能していないようです。意味を説明するコードをいくつか書きました。
そして、これは私が得るものです:
したがって、ベクトルの最大要素が正しく返されないため、ヒープとして機能しません。
それとも私は何か間違ったことをしていますか?
algorithm - ヒープ内の反転の最悪のケースの数が Ω(nlogn) であることを証明する方法は?
私は試験の準備で忙しく、古い試験問題をやっているだけです。以下の質問は、私ができないように見える唯一のものです (どこから始めればよいかわかりません)。どんな助けでも大歓迎です。
Ω(nlogn) 比較ソート境界、ボトムアップ ヒープ構築の theta(n) 境界、および挿入ソートの順序複雑度を使用して、ヒープ内の反転の最悪のケースの数が Ω(nlogn) であることを示します。
heap - ソートされた配列は最小ヒープですか?最大ヒープの最小値はいくつですか?
私は最小ヒープと最大ヒープを研究しましたが、いくつか質問があります。
- ソートされた配列は最小ヒープですか?
- 最大ヒープの最小値はいくつですか?
heap - ヒープについて(最大ヒープと最小ヒープ)
ヒープデータ構造では、左の子がそれ自体のレベルで右の子よりも多くなる可能性があるというこの質問がありますか?つまり、これらの3つの数値9、5、8を考慮して、ルートが9になるように最大ヒープのデータ構造を作成したいのですが、8が左の子で、5が右の子であるというのは本当ですか?助けてくださいありがとう