κΉμ΄ μ°μ νμ(DFS) ꡬν λ°©λ²
1. μ€ν μ¬μ©
- DFSλ μ€νμ μ¬μ©νμ¬ μ΄λ―Έ λ°©λ¬Έν λ Έλλ₯Ό μΆμ ν©λλ€. μ¬κ· νΈμΆμ μ¬μ©νμ¬ μ€ν ꡬνμ λ΄μ¬νν μ μμ΅λλ€.
μ€ν μ¬μ© μμ
def dfs(graph, start, visited=[]): if start not in visited: visited.append(start) for next in graph[start]: if next not in visited: dfs(graph, next, visited) return visited
2. μ¬κ·μ νμ
- νμ¬ λ Έλμμ λ°©λ¬Ένμ§ μμ μΈμ λ Έλλ₯Ό μ°Ύμ κ³μν΄μ νμμ μ§νν©λλ€.
μ¬κ·μ νμ μμ
for next in graph[start]: if next not in visited: dfs(graph, next, visited)
μκ° λ³΅μ‘λ
-
μκ° λ³΅μ‘λ
: (O(V + E))- μ¬κΈ°μ
V
λ μ μ μ μ,E
λ κ°μ μ μλ₯Ό λνλ λλ€. κ° μ μ μ ν λ²μ© λ°©λ¬Έλλ©°, κ° κ°μ μ λ λ² κ²μ¬λ©λλ€(μλ°©ν₯).
- μ¬κΈ°μ
-
λΉμν κ·Έλνμμμ ν¨μ¨μ±
: DFSλ λΉμν κ·Έλνμμ λͺ¨λ λ Έλλ₯Ό λ°©λ¬Ένλ λ° ν¨κ³Όμ μ λλ€. -
μν κ·Έλνμμμ μ£Όμμ
: μν κ²½λ‘κ° μλ κ·Έλνμμλ 무ν 루νμ λΉ μ§ μνμ΄ μμΌλ―λ‘, μ΄λ₯Ό λ°©μ§νκΈ° μν μΆκ°μ μΈ λ©μ»€λμ¦μ΄ νμν μ μμ΅λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Run
Generate
Execution Result