ホームページ  >  記事  >  バックエンド開発  >  幅優先検索はキューを使用しません

幅優先検索はキューを使用しません

WBOY
WBOY転載
2023-09-16 21:57:031204ブラウズ

幅優先検索はキューを使用しません

Breadth First, Look (BFS) は、グラフ内の幅の動きの中心を調べるために使用されるグラフ走査計算です。 BFS の通常の使用では、回線情報構造を利用して着信ハブを追跡します。いずれにしても、明示的なワイヤを使用せずに、他の情報構造を利用して BFS を実行することが考えられます。

ワイヤーなしで BFS を実装する別の方法は、2 つのクラスターまたはレコードを利用することです。1 つは調査対象の現在のレベルのハブ用で、もう 1 つは調査対象の次のレベルのハブ用です。最初は、現在のレベル リストにソース センターが含まれています。

計算は、現在のレベル リストを強調表示し、各ハブに移動することから始まります。通過したハブごとに、その隣接するハブが検査されます。隣接するハブが訪問されていない場合、そのハブは訪問済みとしてマークされ、他のレベルのリストに追加されます。ハンドルは、現在のレベル リスト内のすべてのハブが渡されるまで続行されます。

現在のレベル リストが完全に走査されると、計算は別のレベル リストに進み、ハブへのメソッドを再ハッシュし、次のレベル リストを検査します。この準備は、未訪問のノードがなくなるまで続けられます。

使用説明書

幅優先方式

幅優先方式

BFS アルゴリズムはソース ハブから開始され、その近隣ハブを調査し、最後に別のレベルの近隣ハブに移動しました。回線情報構造を使用して、訪問するハブを追跡します。各サイクルで、計算はハブを訪問し、それを完了としてマークし、未訪問の隣接ハブをキューに入れます。この準備は、すべてのアクセス可能なセンターへの訪問が完了するまで続けられます。

コードは、チャートの感染リストを表すベクトル adj を初期化します。ベクトルの各ファイルは中心と比較され、記録された各値には隣接する中心が含まれます。 BFS トラバーサルは、ソース ハブ、ハブの数 N、ハブを通過するベクトル vis、別の dp、および訪問するハブを追跡するために使用されるベクトル v を取得する BFS ジョブによって実行されます。 bfsTraversal ジョブは、消滅したハブを初期化し、ベクターを削除してから、BFS ジョブを呼び出してトラバーサルを実行します。

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

    グラフの感染リスト表現を作成します。
  • アクセスするハブを格納する行を初期化します。
  • 消滅したノードを追跡するために、消滅したクラスターを初期化します。
  • 削除クラスターを初期化して、ソース ハブから削除された内容を各ハブに保存します。ソースハブのデリミタを 0 に設定します。
  • ソース ハブをキューに登録し、アクセスされたかどうかを確認します。
  • パイプラインをパージすることはできませんが、次のことを行ってください:
  • キューの先頭にあるハブを削除します。デキューされてまだ通過していない隣接ハブごとに、次の操作を実行します。 隣接ハブをキューに入れます。隣接するハブを訪問済みとしてマークします。ハブの削除をデキューするように近隣ハブの削除を更新しました (同じく 1)。
  • 行が空になるまでステップ 6 を繰り返します。
  • BFS トラバーサルが完了すると、別のクラスターにソース ノードからグラフ内の他のすべての中心までの間隔が含まれます。
  • (オプション) BFS トラバーサルで各ハブの親ハブを追跡し、最も簡単な方法でソース ハブから他のすべてのハブに到達することもできます。
  • ###例### リーリー ###出力### リーリー ###例### リーリー ###出力### リーリー ###結論は###
  • この記事では、行情報構造を使用しない幅優先検索 (BFS) の計算について説明します。 BFS 計算は通常、特定のソース中心から開始して段階的にチャートをナビゲートするために使用されます。通常、ルートは、移動先のハブを保存するために使用されます。いずれにせよ、この記事では、基本的なリストまたはクラスタリングを利用して次のレベルのハブを格納する代替アプローチを検討します。

この選択的な使用により、グラフの幅優先の研究が完了します。この記事では、感染記録の初期化、移行クラスターと分離クラスターの維持、中心レベルを強調するための円の使用など、BFS 計算のステップを追跡します。また、1 行も使用せずに BFS トラバーサルを示す C コード命令も提供します。コードはグラフを正確に調査し、BFS トラバーサル順列を出力し、ソース ハブから他のすべてのノードまでの距離を計算します。全体として、この記事では、線を使用せずに BFS 計算の明確な説明と実現可能な使用法を提供し、幅優先の方法でグラフをナビゲートするための代替アプローチを示します。

以上が幅優先検索はキューを使用しませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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