λ°˜μ‘ν˜•

μ•Œκ³ λ¦¬μ¦˜/κ°œλ… 2

[Swift] DFS(Depth-First Search, 깊이 μš°μ„  탐색)에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž

μ•ˆλ…•ν•˜μ„Έμš”~ μ˜€λŠ˜μ€ 깊이 μš°μ„  탐색에 λŒ€ν•΄μ„œ μ •λ¦¬ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 깊이 μš°μ„  탐색( DFS, Depth-First Search )μ΄λž€? 깊이 μš°μ„  탐색은 νƒμƒ‰ν•˜κ³ μž ν•˜λŠ” λ…Έλ“œλ“€μ˜ μžμ‹ λ…Έλ“œλΆ€ν„° μš°μ„ μœΌλ‘œ νƒμƒ‰ν•˜λŠ” 방식을 λ§ν•©λ‹ˆλ‹€. μ•„λž˜μ˜ 이미지에 μžˆλŠ” κ·Έλž˜ν”„μ—μ„œ BFSλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•žμ„œ λ§ν•œ κ²ƒμ²˜λŸΌ μžμ‹ λ…Έλ“œλΆ€ν„° ν™•μΈν•˜λŠ”λ° 예λ₯Ό λ“€μ–΄μ„œ 1을 κ°€μž₯ λ¨Όμ € νƒμƒ‰ν•˜κ³  λ‚˜λ©΄ 8, 6, 10, 7, 4 ... 을 μˆœμ„œλŒ€λ‘œ νƒμƒ‰ν•˜κ²Œ λ©λ‹ˆλ‹€. 즉, νƒμƒ‰ν•˜κ³ μžν•˜λŠ” λ…Έλ“œμ˜ μžμ‹ λ…Έλ“œλ“€μ„ λͺ¨λ‘ νƒμƒ‰ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. BFS와 λ§ˆμ°¬κ°€μ§€λ‘œ μ—¬κΈ°μ„œ 8λΆ€ν„° μ‹œμž‘ν•˜λ“  2λΆ€ν„° μ‹œμž‘ν•˜λ“  μˆœμ„œλŠ” μ€‘μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ€‘μš”ν•œ 점은 μžμ‹ λ…Έλ“œλ“€μ„ μš°μ„  탐색해야 ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. βœ”οΈŽ Swift둜 κ΅¬ν˜„ν•΄ 보기 μœ„μ˜ 이미지에 μžˆλŠ” κ·Έλž˜ν”„λ₯Ό 톡해 DFSλ₯Ό..

[Swift] BFS(Breadth-First Search, λ„ˆλΉ„ μš°μ„  탐색)에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž

μ•ˆλ…•ν•˜μ„Έμš”~ μ˜€λŠ˜μ€ λ„ˆλΉ„ μš°μ„  탐색에 λŒ€ν•΄μ„œ μ •λ¦¬ν•˜λ €κ³  ν•©λ‹ˆλ‹€. λ„ˆλΉ„ μš°μ„  탐색( BFS, Breadth-First Search )μ΄λž€? λ„ˆλΉ„ μš°μ„  탐색은 μΈμ ‘ν•œ λ…Έλ“œλ“€μ„ μš°μ„ μœΌλ‘œ νƒμƒ‰ν•˜λŠ” 방식을 λ§ν•©λ‹ˆλ‹€. μ•„λž˜μ˜ 이미지에 μžˆλŠ” κ·Έλž˜ν”„μ—μ„œ BFSλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•žμ„œ λ§ν•œ κ²ƒμ²˜λŸΌ μΈμ ‘ν•œ λ…Έλ“œλΆ€ν„° ν™•μΈν•˜κ²Œ λ˜λŠ”λ° 예λ₯Ό λ“€μ–΄μ„œ 1을 κ°€μž₯ λ¨Όμ € νƒμƒ‰ν•˜κ³  λ‚˜λ©΄ μΈμ ‘ν•œ 8, 5, 2λ₯Ό μˆœμ„œλŒ€λ‘œ νƒμƒ‰ν•©λ‹ˆλ‹€. λ‹€μŒμ€ 6λΆ€ν„° μ‹œμž‘ν•΄μ„œ 9κΉŒμ§€ 탐색을 μ§„ν–‰ν•˜κ² μ£ ? 즉, 같은 λ ˆλ²¨μ— μžˆλŠ” λ…Έλ“œλ“€λΆ€ν„° 탐색을 ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ 8λΆ€ν„° μ‹œμž‘ν•˜λ“  2λΆ€ν„° μ‹œμž‘ν•˜ λ“  μˆœμ„œλŠ” μ€‘μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ€‘μš”ν•œ 점은 같은 λ ˆλ²¨μ— μžˆλŠ” λ…Έλ“œλ₯Ό μ „λΆ€ νƒμƒ‰ν•˜κ³  λ‹€μŒ 레벨둜 λ„˜μ–΄κ°„λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. βœ”οΈŽ Swift둜 κ΅¬ν˜„ν•΄ 보기 μœ„μ˜ 이미지에 μžˆλŠ” κ·Έλž˜ν”„..

λ°˜μ‘ν˜•