BFS vs DFS
DFS : κΉμ΄ μ°μ νμ, λ£¨νΈ λ Έλμ ν λΈλ°μΉμ λ§μ§λ§ λ ΈλκΉμ§, λͺ¨λ λ Έλλ₯Ό νμν ν λ€μ λΈλ°μΉλ₯Ό νμνλ λ°©λ².
ν λ°©ν₯μΌλ‘ κ³μ νμνλ€κ° λ§μ§λ§ λ
Έλμ λλ¬νλ©΄ κ°μ₯ κ°κΉμ΄ κ°λ¦ΌκΈΈλ‘ λμκ° μλ‘μ΄ λΈλ°μΉλ₯Ό νμνλ€.
λͺ¨λ λ Έλλ₯Ό λ°©λ¬Έν λ, μμ νμμ ν λ μ¬μ©νλ€.
μ¬κ·μ μΌλ‘ λμνλ©°, μκΈ° μμ μ νΈμΆνλ μν μκ³ λ¦¬μ¦μ ννμ΄λ€.
Stack μλ£κ΅¬μ‘°λ₯Ό μ¬μ©νμ¬ νμ μ μΆ(LIFO) μμΉμΌλ‘ νμνλ€.
BFS : λλΉ μ°μ νμ, λ£¨νΈ λ Έλμ μΈμ ν λ ΈλλΆν° μ°μ μ μΌλ‘ νμνλ μκ³ λ¦¬μ¦
μ΅λ¨ κ²½λ‘λ₯Ό μ°Ύμ λ μ¬μ©νλ€.
μμμ μμ λͺ©μ μ§κΉμ§ ν λ¨κ³μ© νμνκΈ° λλ¬Έ. λͺ©μ μ§μ λλ¬νλ μκ° μκ³ λ¦¬μ¦μ μ’ λ£νλ€. λ λ§μ λ¨κ³λ₯Ό κ±°μ³μΌ λͺ©μ μ§μ λλ¬ν μ μλ κ²½λ‘λ λ μ΄μ νμν νμκ° μλ€.
μ¬κ·μ μΌλ‘ λμνμ§ μλλ€.
Queue μλ£κ΅¬μ‘°λ₯Ό μ¬μ©νμ¬ μ μ
μ μΆ(FIFO) μμΉμΌλ‘ νμνλ€.
곡ν΅μ : μ΄λ€ λ Έλλ₯Ό λ°©λ¬Ένμλμ§ μ¬λΆλ₯Ό λ°λμ κ²μ¬ ν΄μΌ νλ€. μ΄λ₯Ό μλ΅ν κ²½μ° λ¬΄ν루νμ λΉ μ§ μ μλ€.
μκ° λ³΅μ‘λ
κ·Έλν(μ μ μ μ: N, κ°μ μ μ: E) μ‘°ν
μΈμ νλ ¬λ‘ ννλ κ·Έλν : O(N^2) : κ°μ μ μ Eμλ 무κ΄νκ² κ°λ‘ N, μΈλ‘ Nκ°μ matrixλ‘ μ μ κ° μ°κ²°κ΄κ³λ₯Ό νννκΈ° λλ¬Έ
μΈμ 리μ€νΈλ‘ ννλ κ·Έλν : O(N+E) : λͺ¨λ μ μ κ³Ό κ°μ μ νννκΈ° λλ¬Έ
- μ±λ₯ μ°¨μ΄κ° λ°μνλ μ΄μ ?
- μ΅λ¨κ±°λ¦¬λ₯Ό μ°Ύμ λμλ μ΄λ€ μκ³ λ¦¬μ¦μ μ¬μ©νλμ§?
- κ·Έ μ΄μ λ?