私はプロジェクトを作成する必要があります:バイナリ検索ツリーで表される優先度キュー。私のアルゴリズムクラスです。バイナリ検索ツリーをどのように優先度キューとして使用するかはわかりません。私がインターネット上で見つけたすべての例は、ヒープに関するものであり、 "決してあなたがBSTで優先キューを実装する必要はありませんが、ヒープでのみ実装してください"。誰かが私に何を正確に説明すべきか説明できましたか?ありがとう!BinarySearchTreeを使用してPriorityQueueを実装する:C++
-2
A
答えて
0
ヒントとして、優先度キューは要素の挿入、最小値(または最大優先度キューの最大値)の読み取り、最小値の削除を効率的にサポートする必要があります。 BSTはすでに高速挿入と削除をサポートしています。したがって、優先順位キューのすべての要素がBSTに格納されている場合、どのように最小値を見つけることができますか? BSTがその要素をソートされた順序で格納するという事実を利用して、最小の値を見つけるための非常に速いアルゴリズムを見つけることができるかどうかを見てください。
関連する問題
- 1. Cの引数を使用してC#の実装を隠す
- 2. C++を使用してfastcgiを実装していますか?
- 3. C++でマージソートアルゴリズムを使用してカウント反転を実装する
- 4. C#を使用してTCPクライアントサーバーアプリケーションを実装する
- 5. TCPを使用してC#でFTPクライアントを実装する
- 6. C#を使用してIPPゲートウェイを実装する方法は?
- 7. C#を使用してSAML 2.0を実装する手順
- 8. C#でDynamicObjectを使用してイベントアクセッサを実装する方法
- 9. リポジトリとマッピングを使用してMVCデザインパターンを実装するC#
- 10. OOP/C++を使用して接尾辞トライを実装する
- 11. foldlを使用して実装する
- 12. Springでコンパレータを使用してPriorityQueueを初期化する
- 13. カスタムコンパレータを使用したJava PriorityQueue
- 14. のObjective C - アウトIDを使用してメソッドを実装*
- 15. C#でAndroidでカスタムアダプタを使用したフィルタリングを実装する
- 16. C#ジェネリックスとインターフェイスの実装を使用
- 17. OpenSSLのC++での実装を使用
- 18. PHPを使用してKnetを実装
- 19. Worklightを使用してコードバカメラプラグインを実装
- 20. C++/CLIイベントを使用した空のC++実装へのフック
- 21. PLINQを使用してC#でMapReduceを実装する方法は?
- 22. iosプラットフォームでC++を使用してGameCenterを実装する方法
- 23. C#を使用してASP.Netで動的FAQを実装する方法は?
- 24. C#を使用して加重ラウンドロビンを実装する方法は?
- 25. SpecFlowを使用して複数のif条件を実装する方法C#
- 26. C++でunordered_mapを使用して衝突を処理するハッシュテーブルの実装
- 27. C#で '動的'を使用して訪問者パターンを実装する
- 28. Cで2つのスタックを使用してキューを実装する
- 29. 既存のテーブルビューでobjective-Cを使用してUISearchControllerを実装する
- 30. グローバル変数 'char ** environ'を使用してsetenv()とunsetenv()を実装する
あなたが既にこの課題に苦労している場合は、教授またはその助手と議論する必要があります。 –
すべてのノードが必ずヒーププロパティ(ノードの値はどの子の値よりも大きくない)に従うようにすることで、*バイナリツリー*(*検索*が意図的に存在しないことに注意)に優先度キューを実装できます。このアプローチは、実際には任意のアリティのツリーで動作します。ヒープの場合、ツリーがツリーノードを使用して表現されているか、配列内に暗黙的に与えられたツリーを使用して表現されているかどうかは関係ありません。 –