Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ํ ์ดํ๋ก์ ํธ
- ํ์ด์ฌ
- ํ๋ก์ ํธ
- react
- Python
- ์ฝ๋ฉํ ์คํธ
- ๋๋ฆผ์ฝ๋ฉ
- KDT
- ๊ตญ๋น์ง์
- error
- ํ๋ก ํธ์๋
- ๋ชจ๊ฐ์ฝ
- ๊ทธ๋ฆฌ๋
- HTML
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ฉ์ ํ
- ํฌ๋กค๋ง
- JS
- mongodb
- ๋ ธ๋ง๋์ฝ๋
- ๋ฐฑ์ค
- fe
- heapq
- ์ฝ๋ฉ
- javascript
- node.js
- CSS
- Til
- ๊ฐ๋ฐ
Archives
- Today
- Total
๐ฑ โ ๐ณ
Algorithm) DFS/BFS ๋ณธ๋ฌธ
728x90
๊ทธ๋ํ ํ์ ์๊ณ ๋ฆฌ์ฆ: DFS/BFS
ํ์(search)์ด๋ ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์
๋ํ์ ์ธ ๊ทธ๋ํ ํ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก DFS/BFS๊ฐ ์กด์ฌ
์๋ฃ๊ตฌ์กฐ
์คํ(์ ์ ํ์ถ)
๋จผ์ ๋ค์ด ์จ ๋ฐ์ดํฐ๊ฐ ๋์ค์ ๋๊ฐ๋ ํ์์ ์๋ฃ๊ตฌ์กฐ
์์) ๋ฐ์ค ์๊ธฐ
DFS method ์ ์
def dfs(graph, v, visited):
visited[v] = True
print(v, end=' ')
for i in graph[v]:
if not visited[i]:
dfs(graph, i, visited)
graph = [
[],
[2,3,8],
[1,7],
[1,4,5],
[3,5],
[3,4],
[7],
[2,6,8],
[1,7]
]
visited = [False] * 9
dfs(graph, 1, visited)
BFS method ์ ์
๊ฐ์ ๋น์ฉ์ด ๋ชจ๋ ๊ฐ์ ๋ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ํ์ํ๊ธฐ ์ํด ์ฐ์ผ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ
from collections import deque
# BFS ๋ฉ์๋ ์ ์
def bfs(graph, start, visited):
queue = deque([start])
visited[start] = True
while queue:
v = queue.popleft()
print(v, end=' ')
for i in graph[v]:
if not visited[i]:
queue.append(i)
visited[i] = True
graph = [
[],
[2,3,8],
[1,7],
[1,4,5],
[3,5],
[3,4],
[7],
[2,6,8],
[1,7]
]
visited = [False] * 9
bfs(graph, 1, visited)
728x90
'Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Algorithm) Dynamic Programming (1) | 2022.10.25 |
---|---|
Algorithm) Binary Search(์ด์งํ์) (0) | 2022.10.25 |
Algorithm) Greedy (0) | 2022.10.25 |
Algorithm) ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ (0) | 2022.10.25 |
[๋ฐฑ์ค] 18870๋ฒ: ์ขํ ์์ถ python (0) | 2022.10.10 |