C# - BFS(너비우선탐색)개념 및 코드 구현
너비우선탐색(BFS, Breadth-First Search) 시작 노드로부터 인접한 노드를 먼저 모두 방문한 후 그 인접한 노드들의 근처 노드들을 차례대로 방문하는 방식으로 동작한다. DFS같은 경우 많은 곳에 사용되지만 BFS같은 경우 최단거리에 많이 사용된다. 1. 행렬 01 그래프 행렬로 표현 int[,] adj = new int[10, 10] { {0,1,0,0,0,0,0,1,0,0 }, {1,0,1,0,1,0,0,0,0,0 }, {0,1,0,1,0,0,0,0,0,0 }, {0,0,1,0,0,0,0,0,0,0 }, {0,1,0,0,0,1,1,1,0,0 }, {0,0,0,0,1,0,0,0,0,0 }, {0,0,0,0,1,0,0,0,0,0 }, {1,0,0,0,1,0,0,0,1,0 }, {0,0,0,..
2023. 9. 19.
C# - DFS(깊이우선탐색)개념 및 코드 구현
깊이 우선 탐색(DFS, Depth-First Search) 특정 노드에서 시작하여 그래프를 탐색하면서 제일 깊은 곳으로 들어갔다가 더 이상 들어갈 곳이 없게 되면 다시 돌아와 다른 경로로 탐색을 진행한다. 이를 통해 모든 노드를 방문하고자 할때 사용할 수 있는 탐색 알고리즘이다. 1. 행렬 01 그래프 행렬로 표현 int[,] adj = new int[10, 10] { {0,1,0,0,0,0,0,1,0,0 }, {1,0,1,0,1,0,0,0,0,0 }, {0,1,0,1,0,0,0,0,0,0 }, {0,0,1,0,0,0,0,0,0,0 }, {0,1,0,0,0,1,1,1,0,0 }, {0,0,0,0,1,0,0,0,0,0 }, {0,0,0,0,1,0,0,0,0,0 }, {1,0,0,0,1,0,0,0,1,0 ..
2023. 9. 6.