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

通信ベースのデータ構造


トータルとリーフの対応は、より洗練された対応手法です。これらの手法の両方で、要素の半分は最小PQに配置され、残りの半分は最大PQに配置されます。要素数が奇数の場合、1つの要素がバッファに格納されます。このバッファリングされた要素は、どちらのPQのメンバーでもありません。トータルコレスポンデンス手法では、最小PQの各要素xは、最大PQの個別の要素yとペアになります。 (x、y)は、priority(x)<=priority(y)。

のような対応する要素のペアです。

図Eは、11個の要素3、4、5、5、6、6、7、8、9、10、11の合計対応ヒープを示しています。要素10はバッファー内にあります。対応するペアは赤い矢印で表示されます。

通信ベースのデータ構造

図E:通信ヒープ全体

リーフ対応手法では、最小および最大PQの各リーフ要素が対応するペアの一部である必要があります。非リーフ要素は、対応するペアである必要はありません。図Fは、リーフ対応ヒープを示しています。

通信ベースのデータ構造

図F:リーフ対応ヒープ

トータルおよびリーフ対応構造は、デュアル構造よりも必要なスペースが少なくて済みます。ただし、合計およびリーフ対応構造のDEPQアルゴリズムは、二重構造のDEPQアルゴリズムよりも複雑です。 3つの対応手法の中で、リーフ対応は最速のDEPQ対応構造です。


  1. データ構造の最小スパニングツリー

    スパニングツリー は、最小数のエッジで接続されたすべての頂点を持つ無向グラフのサブセットです。 すべての頂点がグラフで接続されている場合、少なくとも1つのスパニングツリーが存在します。グラフには、複数のスパニングツリーが存在する場合があります。 最小スパニングツリー 最小スパニングツリー(MST) は、接続された重み付き無向グラフのエッジのサブセットであり、すべての頂点を可能な限り最小の合計エッジ重みで接続します。 MSTを導出するには、プリムのアルゴリズムまたはクラスカルのアルゴリズムを使用できます。したがって、この章ではプリムのアルゴリズムについて説明します。 すでに説明したように、

  2. データ構造における二分木表現

    ここでは、コンピュータのメモリでバイナリツリーを表現する方法を説明します。表現するには2つの異なる方法があります。これらは配列とリンクリストを使用しています。 このようなツリーが1つあるとします- 配列表現は、レベル順の方法を使用して要素をスキャンすることにより、ツリーデータを格納します。したがって、ノードをレベルごとに格納します。一部の要素が欠落している場合は、空白のままにします。上記のツリーの表現は以下のようになります- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 5