このチュートリアルでは、C でハイパーグラフを実装する方法を学習します。
定義- ハイパーグラフは、グラフの特別なバージョンです。それらの 1 つで 2 つ以上の頂点を接続できます。
通常のグラフでは、1 つのエッジは 2 つの頂点しか接続できませんが、ハイパーグラフはグラフを一般化したもので、1 つのエッジで 3 つ以上の頂点を接続するために使用できます。
ハイパーグラフでは、エッジはハイパーエッジと呼ばれます。ハイパーグラフは H(E, V) で表すことができます。ここで、E はハイパーエッジ、v は単一のハイパーエッジで接続された頂点のセットです。
ここでは、ハイパーグラフを実装します。
###例###その後、erase() メソッドを使用して、グラフから「edge2」を削除します。さらに、insert() メソッドを使用して、4 つの頂点を接続する「edge4」をグラフに挿入します。
最後に、グラフのすべてのエッジとそれらに接続されている頂点を印刷します。
リーリー ###出力### リーリー時間計算量 - O(N) すべてのエッジを横断します。
上の例では、ハイパーエッジが異なる頂点を接続できることがわかります。
ハイパーグラフの実際の使用例
ハイパーグラフと通常のグラフの実装を比較するとき、最初の疑問は、なぜハイパーグラフを使用する必要があるのかということです。ここでは、ハイパーグラフを使用できる実際のユースケースをいくつか見ていきます。
データベース モデリング
複雑なシステムの表現
ハイパーグラフの種類
一様ハイパーグラフ: 一様ハイパーグラフの各エッジには、同じ数の頂点が含まれます。
二部ハイパーグラフ: 二部ハイパーグラフでは、各頂点が 2 つの素なセットに分割されます。さらに、各ハイパーエッジには両方のセットの頂点が含まれています。
有向ハイパーグラフ: 有向ハイパーグラフでは、各ハイパーエッジに方向があります。したがって、各ハイパーエッジが頂点を接続する順序を考慮する必要があります。
重み付きハイパーグラフ: 各頂点接続に重みを割り当てることができるため、各接続に異なる重要性を割り当てることができます。
ラベル付きハイパーグラフ: 頂点の各接続にラベルを追加して、頂点に関する詳細情報を伝えることができます。
ここでは、基本的なハイパーグラフを実装しました。ただし、リアルタイム開発では、1 つのハイパーエッジで数百のグラフ頂点を接続できます。さらに、ハイパーグラフの種類と実際の使用例も確認しました。
以上がハイパーグラフの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。