DEVLOG

BFS, DFS κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜ / κ°œλ… + μ½”λ”©ν…ŒμŠ€νŠΈμ—μ„œ ν™œμš©λ²• λ³Έλ¬Έ

frontend/log

BFS, DFS κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜ / κ°œλ… + μ½”λ”©ν…ŒμŠ€νŠΈμ—μ„œ ν™œμš©λ²•

meroriiDev 2023. 7. 25. 16:36
728x90
λ°˜μ‘ν˜•
πŸ“–  λͺ©μ°¨

     

    κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜ 문제 μœ ν˜•

    1. κ²½λ‘œνƒμƒ‰ μœ ν˜•(μ΅œλ‹¨κ±°λ¦¬)
    2. λ„€νŠΈμ›Œν¬ μœ ν˜•(μ—°κ²°)
    3. μ‘°ν•© μœ ν˜•(λͺ¨λ“  μ‘°ν•© λ§Œλ“€κΈ°)

    μ½”λ”©ν…ŒμŠ€νŠΈμ—μ„œ μœ„ 경우의 κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œλŠ” BFS λ˜λŠ” DFS둜 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ”λ° μ–΄λ– ν•œ 차이가 μžˆλŠ”μ§€, μ–΄λ–€ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•΄μ•Όν•˜λŠ”μ§€ κ³΅λΆ€ν•΄λ³΄μ•˜λ‹€.

    🎈 BFS

    λ„ˆλΉ„ μš°μ„  탐색
    κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜μ—μ„œ 같은 κΉŠμ΄μ— ν•΄λ‹Ήν•˜λŠ” 정점뢀터 νƒμƒ‰ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜
    λ“œλΌλ§ˆ 정주행을 μ˜ˆμ‹œλ‘œ λ“€μ–΄λ³Έλ‹€λ©΄ μ—¬λŸ¬ λ“œλΌλ§ˆλ₯Ό ν•œνŽΈμ”© λ³΄λŠ” λŠλ‚Œμ΄λ‹€.

    νŠΉμ§•

    • 큐λ₯Ό μ΄μš©ν•˜μ—¬ κ΅¬ν˜„ν•  수 μžˆλ‹€
    • μ‹œμž‘ μ§€μ μ—μ„œ κ°€κΉŒμš΄ 정점뢀터 탐색
    • μ‹œκ°„λ³΅μž‘λ„λŠ” O(μ •μ μ˜ 수 + κ°„μ„ μ˜ 수)이닀.
    • μˆ˜ν–‰μ‹œκ°„μ΄ κΈΈμ–΄μ§€λŠ” 문제의 경우 BFSλ₯Ό μ΄μš©ν•΄ 문제λ₯Ό ν’€μ–΄μ•Όν•œλ‹€.

    🎈 DFS

    깊이 μš°μ„  탐색
    μ΅œλŒ€ν•œ κΉŠμ€ 정점뢀터 νƒμƒ‰ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜
    BFS처럼 λ“œλΌλ§ˆ 정주행을 μ˜ˆμ‹œλ‘œ λ“€μ–΄λ³Έλ‹€λ©΄ DFSλŠ” ν•œ λ“œλΌλ§ˆλ₯Ό ν•œλ²ˆμ— λͺ°μ•„λ³΄λŠ” λŠλ‚Œμ΄λ‹€. ν•œλ†ˆλ§Œ λκΉŒμ§€ νŒŒλŠ” μ•Œκ³ λ¦¬μ¦˜!

    νŠΉμ§•

    • μŠ€νƒμ„ μ΄μš©ν•˜μ—¬ κ΅¬ν˜„ν•  수 μžˆλ‹€.
    • μž¬κ·€ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•  수 μžˆλ‹€.
    • μ‹œμž‘ μ •μ μ—μ„œ κΉŠμ€κ²ƒλΆ€ν„° μ°ΎλŠ”λ‹€.
    • μ‹œκ°„λ³΅μž‘λ„λŠ” O(μ •μ μ˜ 수 + κ°„μ„ μ˜ 수)이닀.
    • κ΅¬ν˜„ν•˜λŠ”κ²Œ 비ꡐ적 μƒκ°ν•˜κΈ°μ‰½μ§€λ§Œ μ΅œμ•…μ˜ 경우 μ‹œκ°„λ³΅μž‘λ„κ°€ λ†’μ•„μ Έ λŸ°νƒ€μž„μ—λŸ¬κ°€ λ‚  ν™•λ₯ μ΄ μžˆλ‹€.

     

    μ°Έκ³ 
    https://www.youtube.com/watch?v=BsYbdUnKZ-Y

    728x90
    λ°˜μ‘ν˜•
    Comments