목록1260 (2)
개발 무지렁이
그래프의 모든 노드를 탐색하는 BFS(Breadth First Search) 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 시작노드에서 출발하여 레벨 기준으로 자기 레벨을 다 탐색하고 내려가는 과정을 반복하는 것을 ' 넓이우선탐색(BFS) '라고 한다. ** (시작노드 기준으로 가까운 노드를 먼저, 최단경로를 보장) ** 🕑 시간복잡도: O(V+E) (V:정점수, E:간선수) [모든 정점을 한 번씩 방문하고, 그러기 위해 모든 간선을 한 번씩 검사했으니] BFS와 큐 BFS는 큐(Queue)로 구현하며, 큐(Queue)란 먼저 들어온게 먼저 빠지는 형태의 자료구조(FIFO)를 말한다 Queue queue = new ArrayDeque(); BFS 코드 구현 ⚠️ 한번 방문한 노드..
그래프의 모든 노드를 탐색하는 DFS(Depth First Search) 1 -> 2 -> 4 -> 5 -> 3 -> 6 -> 7 시작노드에서 출발하여 리프노드까지 내려가고 부모에게 올라가, 다시 리프노드까지 내려가는 것을 반복하는 과정을 ' 깊이우선탐색(DFS) '라고 한다. 🕑 시간복잡도: O(V + E) (V: 노드 수, E: 간선 수) [모든 정점을 한 번씩 방문하고, 그러기 위해 모든 간선을 한 번씩 검사했으니] DFS와 재귀함수 DFS는 재귀함수로 구현하며, 재귀함수란 '자기 자신'을 Function call(함수 호출)하여 동작하는 방식을 말한다. (종료조건과 재귀적확장이 있어야 한다.)DFS 코드 구현, 백준 1260 DFS 🪅 에지리스트를 인접리스트로 구현할 수 있는가 🪅 ..