プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

インターバルヒープ操作の複雑さ


ダブルエンド優先キュー(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)時間がかかります。

  1. ペアリングヒープ

    ペアリングヒープは、実装が比較的簡単で、実用的な償却パフォーマンスが優れているヒープデータ構造の一種として定義されています。 ペアリングヒープは、ヒープ順に並べられたマルチウェイツリー構造であり、簡略化されたフィボナッチヒープとして表すことができます。 これらは、プリムのMSTアルゴリズムなどのアルゴリズムを実装するための「堅牢な選択」と見なされ、次の操作をサポートします(最小ヒープを想定)- find-min −この関数は、ヒープの最上位要素を返す役割を果たします。 溶ける -この関数は、2つのルート要素を比較する役割を果たします。結果のルートが小さいほど、大きい要素とそのサブツ

  2. データ構造の償却時間計算量

    償却分析 この分析は、時折の操作が非常に遅い場合に使用されますが、非常に頻繁に実行される操作のほとんどは高速です。データ構造では、ハッシュテーブル、互いに素なセットなどの償却分析が必要です。 ハッシュテーブルでは、ほとんどの場合、検索時間の複雑さはO(1)ですが、O(n)操作を実行することもあります。ほとんどの場合、ハッシュテーブルで要素を検索または挿入する場合、タスクは一定時間かかりますが、衝突が発生すると、衝突を解決するためにO(n)回の操作が必要になります。 集計方法 総コストを見つけるために集計方法が使用されます。大量のデータを追加する場合は、この式で償却原価を見つける必要があり