ホームページ  >  記事  >  データ構造: グラフとツリーの違いは何ですか

データ構造: グラフとツリーの違いは何ですか

青灯夜游
青灯夜游オリジナル
2019-03-12 16:50:2612544ブラウズ

チャートとツリーはどちらも最も一般的な非線形データ構造ですが、両者の違いは何でしょうか?チャートとツリーの違いについては以下の記事で解説していますので、皆様のお役に立てれば幸いです。

データ構造: グラフとツリーの違いは何ですか

#チャート

チャートは 2 つのセット V と E で構成されます。V は有限です。空でない頂点セット、E は有限の空でないエッジ セットです。これには次のプロパティがあります:

1. 頂点はグラフ内のノードを表し、エッジを使用して他の任意の数の頂点に接続できます。

2. 2 つの隣接する頂点はエッジによって接続されます。エッジは双方向または方向性にすることができ、エッジに重みを付けることもできます。

3. 任意のグラフは、G = {V, E} として表すことができます。

例:

データ構造: グラフとツリーの違いは何ですか

その場合: G = {{V1, V2, V3, V4, V5}, {E1, E2, E3, E4, E5 、 E6、 E7}}

ツリー

ツリーは、n (n>0) 個のノードを含む有限集合 K であり、次のプロパティ:

1. ツリーの最上部には、ツリーのルートと呼ばれる指定されたノードがあります。

2. 残りのデータ項目は、サブツリーと呼ばれる互いに素なサブセットに分割されます。

3. 木の高さは下に向かって広がります。

4. ツリーは接続されている必要があります。つまり、1 つのルートから他のすべてのノードへのパスが存在する必要があります。

5. ループは含まれません。

6. ツリーには n-1 個のエッジがあります。

例:

データ構造: グラフとツリーの違いは何ですか

チャートとツリーの違い

グラフ

1. グラフ内の各ノードには任意の数のエッジを含めることができ、エッジは一方向または双方向にすることができます。

2. グラフには root という名前のルート ノードの概念はありません。

3. グラフにはループと自己ループを含めることができます

4. グラフには、事前に定義されたエッジの数はなく、グラフによって異なります。

5. グラフはネットワークモデルの構造です。

ツリー

1. 通常のツリーは、任意の数の子ノードを持つノードで構成されますが、バイナリ ツリーの場合、各ノードは最大 2 つの子ノードを持つことができます。子ノード。 2 つのノード間にはエッジが 1 つだけあります。

2. ツリー内に root という名前の一意のノードがあります。

3. ツリーにはループまたは自己ループを含めることはできません

4. ツリーには n-1 個のエッジを含めることができます。

5. ツリーは階層構造です。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がデータ構造: グラフとツリーの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。