インターバルヒープ操作の複雑さ
ダブルエンド優先キュー(DEPQ)またはインターバルヒープには、次の操作が含まれます-
isEmpty()
この関数は、DEPQが空かどうかを確認するために実行され、空の場合はtrueを返します。
size()
この関数は、DEPQに存在する要素の総数を返すために実行されます。
getMin()
この関数は、優先度が最も低い要素を返すために実行されます。
getMax()
この関数は、優先度が最大の要素を返すために実行されます。
put(z)
この関数は、要素zをDEPQに挿入するために実行されます。
removeMin()
この関数は、優先度が最も低い要素を削除するために実行され、この要素を返します。
removeMax()
この関数は、優先度が最も高い要素を削除するために実行され、この要素を返します。
- 操作isEmpty()、size()、getMin()、およびgetMax()は、それぞれO(1)時間を消費します。
- put(z)、removeMin()、およびremoveMax()は、それぞれO(log n)を消費します。
- n要素間隔ヒープの初期化にはO(n)時間がかかります。
-
ペアリングヒープ
ペアリングヒープは、実装が比較的簡単で、実用的な償却パフォーマンスが優れているヒープデータ構造の一種として定義されています。 ペアリングヒープは、ヒープ順に並べられたマルチウェイツリー構造であり、簡略化されたフィボナッチヒープとして表すことができます。 これらは、プリムのMSTアルゴリズムなどのアルゴリズムを実装するための「堅牢な選択」と見なされ、次の操作をサポートします(最小ヒープを想定)- find-min −この関数は、ヒープの最上位要素を返す役割を果たします。 溶ける -この関数は、2つのルート要素を比較する役割を果たします。結果のルートが小さいほど、大きい要素とそのサブツ
-
データ構造の償却時間計算量
償却分析 この分析は、時折の操作が非常に遅い場合に使用されますが、非常に頻繁に実行される操作のほとんどは高速です。データ構造では、ハッシュテーブル、互いに素なセットなどの償却分析が必要です。 ハッシュテーブルでは、ほとんどの場合、検索時間の複雑さはO(1)ですが、O(n)操作を実行することもあります。ほとんどの場合、ハッシュテーブルで要素を検索または挿入する場合、タスクは一定時間かかりますが、衝突が発生すると、衝突を解決するためにO(n)回の操作が必要になります。 集計方法 総コストを見つけるために集計方法が使用されます。大量のデータを追加する場合は、この式で償却原価を見つける必要があり