BFS

알고리즘

프로그래머스 lv.2 전력망을 둘로 나누기

문제 보기 DFS/BFS 문제는 지도 형식으로 주어진 문제만 풀어봐서 이 문제처럼 인접 리스트로 주어진 문제가 낯설었다. 이 문제를 기회로 인접 리스트에 대해서도 알게 되고 인접 행렬도 구현해 볼 수 있어서 아주 유익했다. DFS 풀이 /* 인접 행렬 이용한 방법 */ function solution(n, wires) { const graph = Array.from({length: n + 1}, () => Array(n + 1).fill(0)) const dfs = (arr, node) => { let res = 0 for (let i = 1; i { graph[wire[0]][wire[1]] = graph[wire[1]][wire[0]] = 1 }) // 와이어를 하나씩 끊고 끊어진 각 노드 2개에 ..

알고리즘

DFS/BFS

BFS, DFS 두가지 모두 그래프를 탐색하는 방법입니다. 그래프란, 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종을 말하며, 그래프 탐색은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 말합니다. DFS 깊이 우선 탐색 (Depth-First Search) 출처 https://developer-mac.tistory.com/64 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방식을 말합니다. 예를 들어, 미로찾기를 할 때 최대한 한 방향으로 갈 수 있을 때까지 쭉 가다가 더 이상 갈 수 없게 되면 다시 가장 가까운 갈림길로 돌아와서 그 갈림길부터 다시 다른 방향으로 탐색을 진행하는 ..

JeanneLee57
'BFS' 태그의 글 목록