php エディター Youzi は、幅優先検索 (BFS) のデバッグの実装を紹介します。幅優先検索は、開始ノードから開始して、ターゲット ノードが見つかるまで隣接するノードを層ごとに訪問する、グラフとツリーの走査アルゴリズムです。 BFS アルゴリズムを実装する場合、デバッグは非常に重要なリンクであり、コード内のエラーや論理的問題を発見し、プログラムの効率と精度を向上させるのに役立ちます。この記事では、BFS アルゴリズムのデバッグ方法を詳しく紹介し、学習と実践に役立つことを願っています。
3D 空間に 3D ボクセルがあります。これらには、x、y、z
によってインデックスが付けられます。これらには、full
または empty
というラベルが付けられます。隣接する full
ボクセルで構成されるコンポーネントの数を効率的に数えようとしています。
幅優先検索 (bfs) アルゴリズムを実装する次のコードがあります。各ボクセルは [3]int{x, y, z}
で表されます。
8 コンポーネントのみを含む単純なモデルの場合、コンポーネント数 1224:
が返されます。
###質問###
vs code デバッガーを使用してコードをステップ実行しました。しかし、このエラーがわかりません。コードに疑わしいものを見つけた人はいますか?正しい方向に導くためのヒントはありますか?
空の
ボクセルに対しても
countcomponents では、検証済みの
bfs
訪問されていないボクセルに対してのみ呼び出されます (良好):
リーリー
...しかし、ボクセルが full
(悪い) かどうかを確認するテストが欠落しており、bfs はそれが
各
empty ボクセルも 1 つの (1 ボクセル サイズ) コンポーネントとしてカウントされます。
以上が幅優先検索 (BFS) 実装のデバッグの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。