ホームページ  >  記事  >  バックエンド開発  >  グラフ内に与えられた条件を満たす長さ3のサイクルがあるかどうかを確認します

グラフ内に与えられた条件を満たす長さ3のサイクルがあるかどうかを確認します

王林
王林転載
2023-09-06 13:01:03625ブラウズ

グラフ内に与えられた条件を満たす長さ3のサイクルがあるかどうかを確認します

与えられた基準を満たす長さ 3 のループをグラフでチェックし、各頂点を繰り返し走査して隣接する頂点を確認する準備をします。頂点に隣接する 2 つの頂点が接続されすぎている場合、長さ 3 のサイクルが存在します。この条件により、隣接する 2 つの間にエッジが存在し、三角形が形成されることが保証されます。すべての頂点とその隣接頂点をフィルタリングすることで、そのようなサイクルが存在するかどうかを特定します。頂点に 2 つの関連する近傍があることが判明した場合、グラフは指定された条件を満たす長さ 3 のサイクルを示していると結論付けることができます。

使用説明書

  • 隣接行列法

  • 隣接リスト方式

隣接方式

与えられた条件を満たすグラフ内に長さ 3 のサイクルがあるかどうかを確認するには、伝染法を利用できます。このアプローチでは、グラフ内の各頂点を反復し、その隣接する頂点をチェックします。各頂点について、隣接する頂点のいずれか 2 つが密接に関連していないかどうかをチェックします。そのような一致が見つかった場合は、その一致の条件が満たされているかどうかを確認します。条件が満たされる場合、長さ 3 のループが指定された条件をほぼ満たしていることを示します。グラフ内のすべての頂点を調べることで、そのようなサイクルが存在するかどうかを判断できます。

###アルゴリズム###

    「cycleExists」という名前のブール変数を false に初期化します。
  • グラフ内の各頂点を反復処理します:
    • 各頂点について、隣接する頂点を繰り返します。
    • 隣接する各頂点について、その隣接する頂点を強調します(現在の頂点を除く)。
    • 隣接する 2 つの頂点が関連している場合は、次のステップに進みます。
  • 手順 2c で見つかった関連する頂点の組み合わせが条件を満たすかどうかを確認します。
    • 条件が満たされた場合、「cycleExists」を true に設定し、ループから抜け出します。
  • サイクルが完了したら、「cycleExists」の値を確認します。
    • 「cycleExists」が true の場合、グラフ内に指定された条件を満たす長さ 3 のサイクルが存在します。
    • 「cycleExists」が間違っている場合、そのようなサイクルは存在しません。
  • 結果を出力します。
  • この計算では、グラフの頂点を繰り返し、それらの隣接する頂点を分析し、隣接する頂点の一致が指定された条件を満たす長さ 3 のサイクルを形成するかどうかを確認します。
  • ###例### リーリー ###出力### リーリー 李>隣接リストの方法

隣接するリスト メソッドは、図と対話するために使用される情報構造にすることができます。このアプローチでは、グラフの各頂点は、隣接するすべての頂点を含むリストに関連付けられます。グラフ内に指定された条件を満たす長さ 3 のサイクルがあるかどうかを確認するために、各頂点とその隣接する頂点を反復処理します。隣接する各頂点について、現在の頂点と共通の隣接する頂点が含まれているかどうかを確認します。このような共通の頂点が存在する場合、長さ 3 のリングが見つかります。このアプローチでは、感染リスト内のほぼすべての頂点とその関連性に関する重要なデータを保存することにより、グラフの効率的な調査が保証されます。

###アルゴリズム###

グラフと通信する感染リストを作成します。各頂点には隣接する頂点のリストが含まれます。

グラフ内の各頂点を反復処理します。

  • 各頂点について、隣接する頂点を繰り返します。

  • 隣接する各頂点について、その隣接する頂点を強調します(現在の頂点を除く)。

  • 現在の頂点と隣接する頂点の隣接頂点との間に共通の頂点があるかどうかを確認します。

  • 共通の頂点が見つかった場合、長さ 3 のサイクルが存在します。 trueを返します。

  • 長さ 3 のリングが見つからない場合は、false を返します。

  • ###例### リーリー ###出力### リーリー ###結論は###

    この記事では、グラフ内に与えられた条件を満たす長さ 3 のループがあるかどうかを確認する方法を検討します。ここでは 2 つのアプローチ、具体的には伝染性フレーム アプローチと伝染性リスト アプローチを示しています。この記事では、計算プロセスを追跡し、両方のメソッドの C コードの一部を示します。伝染性ネットワークのアプローチでは、各頂点とその隣接する頂点を強調して、条件を満たす長さ 3 のサイクルを特定します。伝染性リスト法は、グラフと対話する情報構造を利用し、隣接する頂点間の共通の頂点を調べて、サイクルの近接性を判断します。

以上がグラフ内に与えられた条件を満たす長さ3のサイクルがあるかどうかを確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。