lunchScreen / Interview_Questions

기술면접을 준비하는 버디들
69 stars 10 forks source link

DFS & BFS #114

Open tmfrlrkvlek opened 2 years ago

duyeonnn commented 2 years ago

DFS

Depth First Search의 줄임말로 정점의 자식들을 먼저 탐색하는 방식이다.

스택 또는 재귀함수로 구현한다.

BFS

Breath Frist Search의 줄임말로 정점에서 시작해 인접한 노드를 먼저 탐색하는 방법.

주로 두 노드 사이의 최단경로를 찾고 싶을때 사용

큐를 이용해 구현한다

BFS DFS 둘다 N은 노드, E는 간선일때, 인접리스트의 경우 O(N+E)의 시간복잡도를, 인접 행렬의 경우 O(N^2)의 시간 복잡도를 가진다

tmfrlrkvlek commented 2 years ago

그래프의 탐색 기법으로 BFS(Breadth First Search)는 너비 우선 탐색, DFS(Depth First Search)는 깊이 우선 탐색입니다. 그래프 탐색은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 의미합니다. BFS는 간선의 모든 가중치가 같을 때 최단 거리를 구하는 알고리즘으로, 시작 정점을 기준으로 가까운 정점을 먼저 방문합니다. 큐를 이용하여 선입선출의 원칙으로 탐색합니다. DFS는 루트 노드에서 다음 분기로 넘어가기 전 해당 분기를 완벽하게 탐색하는 방법으로 자기 자신을 호출하는 순환 알고리즘의 형태입니다.

inuinseoul commented 2 years ago

그래프를 탐색하는 방법에는 대표적으로 BFS와 DFS가 있습니다.

sustainable-git commented 2 years ago