일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 웹서버
- 코딩강의
- Go언어실무
- 데이터베이스
- 실무PT
- 개발 공식문서 읽기
- golang
- 스키마모델
- 자료구조
- 코멘토실무PT
- 개발 영어실력
- 개발공부
- 자바
- 개발실무
- 개발자되기
- 데이터스키마
- 개발공식문서 어려움
- 리액트
- 코멘토
- 개발자공통지식
- tableplus
- 유데미
- jsx
- 파이썬
- 컴공과개념정리
- Go언어
- postgredb
- 개발 공식문서
- HTTP
- 알고리즘
- Today
- Total
웹개발일지
DFS와 BFS 본문
이 글은 유데미 컴공선배 파이썬 알고리즘 강의 수강 내용을 정리한 글입니다.
공통점
모든 경우의 수를 찾는 완전탐색 방법을 이용한다.
차이점
탐색 순서의 차이
DFS ( Depth First Search)
- 깊이 우선 탐색 방법이다. 모든 노드를 탐색하고자 하기 위함이다.
- BFS 보다 간단하다 느리다.
- 스택(Stack), 재귀를 사용해서 구현한다.
BFS (Breadth First Search)
- 너비우선 탐색 방법이다.
- 인접한 노드를 먼저 탐색한다 -> 최단 경로를 찾을 때 유리하다.
- 큐(Queue)로 구현한다.
주로 두 노드 사이에 최단 경로를 찾고 싶을 때 BFS 방법을 선택한다. 지구 상에 존재하는 모든 친구 관계 그래프로 표현한 후 Sam 과 Eden 사이에 존재하는 경로를 찾는 경우 깊이 우선 탐색 DFS의 경우 모든 친구 관계를 살펴봐야할 수도 있으나 너비 우선 탐색 BFS의 경우 Sam 과 가까운 관계부터 찾는다. DFS를 사용하여 모든 경우를 살필 수 있으나 최단 거리 탐색은 보통은 BFS를 쓴다. BFS가 탐색을 할 때 먼저 거리 1로 가볼 수 있는 노드를 다 가보고 없으면 그 다음에 2로 가볼 수 있는 노드, 3으로, 4로 이렇게 넘어가기 때문에 가까이 있는 노드를 먼저 탐색할 수 있다.
https://algodaily.com/lessons/dfs-vs-bfs
AlgoDaily - BFS vs. DFS: Understanding Breadth First Search & Depth First Search - Introduction
BFS vs. DFS Understanding Breadth First Search & Depth First Search Search During the days and weeks before a technical interview, we can apply the 80/20 rule for more efficient preparation. The 80/20 rule, otherwise known as Pareto's Law, stipulates that
algodaily.com
'자료구조와 알고리즘' 카테고리의 다른 글
프로그래머스 코딩테스트 입문 - 머쓱이보다 키 큰 사람[python] (0) | 2023.05.06 |
---|---|
프로그래머스 - 달리기 경주 _ Python3 (0) | 2023.04.23 |
Arraylist vs Linkedlist (0) | 2023.01.18 |
[백준2420] 여러 값 정수로 입력받기 & 절댓값함수의 사용 - Python (0) | 2023.01.16 |
[자료구조/알고리즘] 맵과 집합 map, set - 파이썬 (0) | 2023.01.12 |