λλΉ μ°μ νμ(BFS) ꡬν λ°©λ²
1. ν μ¬μ©
- BFSλ νλ₯Ό μ¬μ©νμ¬ νμν λ Έλλ€μ κ΄λ¦¬ν©λλ€. νλ₯Ό μ¬μ©νμ¬ κ° λ 벨λ³λ‘ λ Έλλ₯Ό μμ°¨μ μΌλ‘ νμν©λλ€.
ν μ¬μ© μμ
def bfs(graph, start): visited = [] queue = [start] while queue: node = queue.pop(0) if node not in visited: visited.append(node) # 리μ€νΈλ₯Ό μ΄μ©νμ¬ μ€λ³΅ μ κ±° queue.extend([n for n in graph[node] if n not in visited]) return visited
2. λ λ²¨λ³ νμ
- BFSλ κ° λ Έλμ λ 벨λ³λ‘ μΈμ λ Έλλ₯Ό νμν©λλ€. μ΄λ νμ μ μ μ μΆ(FIFO) νΉμ±μ νμ©ν©λλ€.
λ λ²¨λ³ νμ μμ
while queue: node = queue.pop(0) if node not in visited: visited.append(node) # 리μ€νΈλ₯Ό μ΄μ©νμ¬ μ€λ³΅ μ κ±° queue.extend([n for n in graph[node] if n not in visited])
μκ° λ³΅μ‘λ
-
μκ° λ³΅μ‘λ
: (O(V + E))- μ¬κΈ°μ
V
λ μ μ μ μ,E
λ κ°μ μ μλ₯Ό λνλ λλ€. κ° μ μ μ ν λ²μ© λ°©λ¬Έλλ©°, κ° κ°μ μ ν λ²μ© κ²μ¬λ©λλ€.
- μ¬κΈ°μ
-
μ΅λ¨ κ²½λ‘ νμ
: BFSλ 무방ν₯ κ·Έλνμμ μμ λ Έλμμ λͺ©ν λ ΈλκΉμ§μ μ΅λ¨ κ²½λ‘λ₯Ό μ°Ύλ λ° ν¨κ³Όμ μ λλ€. -
λμ λ²μ νμ
: BFSλ λ λ²¨λ³ νμμ ν΅ν΄ λμ λ²μμ λ Έλλ€μ ν¨κ³Όμ μΌλ‘ νμν μ μμ΅λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Run
Generate
Execution Result