[알고리즘] dfs와 bfs
dfs는 깊이 우선 탐색으로 자식노드부터 탐색하는 기법이고, bfs는 넓이 우선 탐색으로 형제노드들부터 탐색하는 기법이다. dfs를 구현하는 방법으로는 스택을 사용하는 방법과 재귀를 사용하는 방법이 있고, bfs를 구현하는 방법은 큐 혹은 데크를 사용하는 방법이 있다. dfs를 구현할 때에는 이미 방문한 노드 정보를 저장하는 visit과 앞으로 찾아가야할 노드를 기준으로 데이터를 탐색한다. 이미 방문을 했다면 무시하고, 방문하지 않았다면 탐색한다. 그럼 우선 dfs 구현 방법을 살펴보자. 1. 스택 활용 방법 def dfs(graph, start_node): visit = [] stack = [] stack.append(start_node) while stack: node = stack.pop() if ..
알고리즘
2022. 1. 23. 04:21
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- append
- Django
- 문자열
- html
- brute force
- 자바스크립트
- CSS
- Oracle
- baekjoon
- 백준
- 단계별로풀어보기
- 브루트 포스
- 파이썬
- 고득점 키트
- javascript
- R
- 스프링
- Case When
- 덱
- python
- Java
- web
- 자바
- jQuery
- jsp
- 프로그래머스
- 장고
- bootstrap
- 큐
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함