Algorithum] DFS vs BFS
Graph 탐색
탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말한다.
🌼 DFS(Depth First Search)
DFS는 깊이 우선 탐색이라고도 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다.
DFS는 Stack(FILO) 형태의 자료구조를 사용
하기 때문에 Recursion 사용하면 간결하게 코드 작성 가능하다는 장점이 있다. (단, 오히려 다른 사람이 이해하기 어려운 형태의 코드가 될 수도 있으므로 사용에 주의
해야 한다.)
-
모든 재귀함수는 반복문을 이용하여 동일한 기능을 구현할 수 있다.
-
재귀 함수를 사용하지 않을 경우, 아래의 메서드를 사용하여 Stack 구조를 구현할 수도 있다.
삽입: Array.push()
삭제: Array.pop()
// Example. n!을 재귀함수를 사용하여 구현하시오. (단,0!, 1!은 1이다.)
const num = 5;
function solution(num) {
if (num <= 1) {
return 1
} else {
return num * solution(num - 1);
}
};
solution(num); // 120
🌼 BFS(Breadth First Serach)
BFS는 너비 우선 탐색이라고도 부르며, 그래프에서 가까운 노드부터 우선적으로 탐색하는 알고리즘입니다.
BFS는 Queue(FIFO) 형태의 자료구조를 사용
한다.
삽입: Array.push();
삭제: Array.shift();
출처: YOUTUBE-동빈나
Author And Source
이 문제에 관하여(Algorithum] DFS vs BFS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@link717/Algorithum-DFS-vs-BFS저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)