TIL 24.01.15

ν™©μ€ν•˜Β·2024λ…„ 1μ›” 15일
0

TIL

λͺ©λ‘ 보기
144/146

πŸ“ŒToday I Learned

루트 λ…Έλ“œ(ν˜Ήμ€ λ‹€λ₯Έ μž„μ˜μ˜ λ…Έλ“œ)μ—μ„œ μ‹œμž‘ν•΄μ„œ λ‹€μŒ λΆ„κΈ°(branch)둜 λ„˜μ–΄κ°€κΈ° 전에 ν•΄λ‹Ή λΆ„κΈ°λ₯Ό μ™„λ²½ν•˜κ²Œ νƒμƒ‰ν•˜λŠ” 방법
λ„“κ²Œ νƒμƒ‰ν•˜κΈ° 전에 깊게 νƒμƒ‰ν•˜λŠ” 것.
μ™„μ „ 탐색
BFS보닀 κ°„λ‹¨ν•˜λ‹€.
λ‹¨μˆœ 검색 μ†λ„λŠ” BFS보닀 λŠλ¦¬λ‹€.

νŠΉμ§•

자기 μžμ‹ μ„ ν˜ΈμΆœν•˜λŠ” μˆœν™˜ μ•Œκ³ λ¦¬μ¦˜μ˜ ν˜•νƒœλ₯Ό 가진닀.
μ „μœ„ 순회λ₯Ό ν¬ν•¨ν•œ λ‹€λ₯Έ ν˜•νƒœμ˜ 트리 μˆœνšŒλŠ” λͺ¨λ‘ DFS의 ν•œ μ’…λ₯˜μ΄λ‹€.
μ–΄λ–€ λ…Έλ“œλ₯Ό λ°©λ¬Έν–ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό κ²€μ‚¬ν•΄μ•Όν•œλ‹€.(μ•ˆκ·ΈλŸ¬λ©΄ λ¬΄ν•œλ£¨ν”„)
λ°±νŠΈλž˜ν‚Ήμ„ 톡해 νƒμƒ‰ν•˜μ§€ μ•Šμ€ 정점이 μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.

μ‹œκ°„λ³΅μž‘λ„

DFSλŠ” κ·Έλž˜ν”„(μ •μ μ˜ 수: N, κ°„μ„ μ˜ 수:E)의 λͺ¨λ“  간선을 μ‘°νšŒν•œλ‹€.

  • 인접 리슀트둜 ν‘œν˜„λœ κ·Έλž˜ν”„: O(N+E)
  • 인접 ν–‰λ ¬λ‘œ ν‘œν˜„λœ κ·Έλž˜ν”„: O(N^2)
    => κ·Έλž˜ν”„ 내에 적은 숫자의 κ°„μ„ λ§Œ κ°€μ§€λŠ” ν¬μ†Œ κ·Έλž˜ν”„μ˜ 경우 인접 행렬보닀 인접 리슀트λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μœ λ¦¬ν•˜λ‹€.

μ°Έκ³ 
https://gmlwjd9405.github.io/2018/08/14/algorithm-dfs.html

profile
μ°¨κ·Όμ°¨κ·Ό ν•˜λ‚˜μ”©

0개의 λŒ“κΈ€