php 편집기 Youzi가 BFS(Breadth First Search) 디버깅 구현을 소개합니다. 너비 우선 탐색은 시작 노드에서 시작하여 대상 노드를 찾을 때까지 인접한 노드를 계층별로 방문하는 그래프 및 트리의 순회 알고리즘입니다. BFS 알고리즘을 구현할 때 디버깅은 코드에서 오류와 논리적 문제를 찾아내고 프로그램의 효율성과 정확성을 높이는 데 도움이 되는 매우 중요한 링크입니다. 이 글에서는 여러분의 학습과 실습에 도움이 되기를 바라며 BFS 알고리즘을 디버깅하는 방법을 자세히 소개하겠습니다.
3D 공간에 3D 복셀이 있습니다. x, y, z
索引。它们被标记为 full
或 empty
。我尝试有效地计算由邻居 full
복셀로 구성되는 구성 요소의 수입니다.
BFS(폭우선탐색) 알고리즘을 구현하기 위해 다음 코드를 사용했습니다. 각 복셀은 [3]int{x, y, z}
로 표시됩니다.
위 구현은 제대로 작동하지 않습니다. 8
组件的简单模型,它返回组件计数为 1224
만 포함해야 합니다:
VS 코드 디버거를 통해 코드를 살펴봤습니다. 그러나 나는 이 오류를 알아낼 수 없다. 코드에서 의심스러운 부분을 본 사람이 있나요? 올바른 방향을 알려주는 팁이 있나요?
문제는 당신이 여전히 empty
体素上调用 bfs
이라는 것입니다.
On countcomponents
中,已验证 bfs
아직 방문 하지 않은 복셀에서만 호출됨(좋음):
...그런데 복셀이 맞는지 테스트가 빠졌네요full
(不好),并且 bfs
会很乐意将其添加到队列中,期望它是 full
。因此,每个 empty
복셀도 (1복셀 크기) 구성요소로 계산됩니다.
위 내용은 너비 우선 검색(BFS) 구현 디버깅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!