peewoong 2024. 4. 14. 15:56

๐ŸŸฉ ๋ฃจํŠธ ๋…ธ๋“œ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ธ์ ‘ํ•œ ๋…ธ๋“œ์—์„œ ์‹œ์ž‘ํ•ด์„œ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋ฅผ ๋จผ์ € ํƒ์ƒ‰

์ง€๊ธˆ ์œ„์น˜์—์„œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์„ ๋ชจ๋‘ ํ(queue)์— ๋„ฃ๋Š” ๋ฐฉ์‹

ํ์— ๋„ฃ์„ ์‹œ์ ์— ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ๋‹ค๊ณ  ์ฒดํฌํ•ด์•ผ ํ•œ๋‹ค. cf. DFS๋Š” ์ผ๋‹จ ๋“ค์–ด๊ฐ€์„œ ์ฒดํฌ

ํ์™€ while ๋ฐ˜๋ณต๋ฌธ ํ™œ์šฉ

 

๐ŸŸฉ ๋ฐฉ๋ฒ•

๊ทธ๋ž˜ํ”„๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ณ , ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋“ค์€ ๋‹ค์‹œ ํƒ์ƒ‰ํ•  ์ผ์ด ์—†๋„๋ก ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค.

 

1) ์‹œ์ž‘ ์ •์  A๋ฅผ ํ์— ๋„ฃ๊ณ  ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ•œ๋‹ค. A
2) ํ์—์„œ A๋ฅผ ๊บผ๋‚ด๊ณ , ์ธ์ ‘ ๋…ธ๋“œ B, C๋ฅผ ํ์— ์‚ฝ์ž… ํ›„ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ•œ๋‹ค. B C
3) ํ์—์„œ B๋ฅผ ๊บผ๋‚ด๊ณ , ์ธ์ ‘ ๋…ธ๋“œ D, E๋ฅผ ํ์— ์‚ฝ์ž… ํ›„ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ•œ๋‹ค. C D E
4) ํ์—์„œ C๋ฅผ ๊บผ๋‚ด๊ณ , ์ธ์ ‘ ๋…ธ๋“œ F, G๋ฅผ ํ์— ์‚ฝ์ž… ํ›„ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ•œ๋‹ค. D E F G
5) ์œ„ ๊ณผ์ •์„ ์Šคํƒ์— ์•„๋ฌด๊ฒƒ๋„ ๋‚จ์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

๐ŸŸฉ ์‹œ๊ฐ„๋ณต์žก๋„

๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)์™€ ๋™์ผ

V : ์ •์ (๋…ธ๋“œ)์˜ ์ˆ˜, E : ๊ฐ„์„ ์˜ ์ˆ˜

 

์ธ์ ‘ ํ–‰๋ ฌ์—์„œ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„ O(V^2)

์ธ์ ‘ ๋ฆฌ์ŠคํŠธ์—์„œ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„ O(V+E)

 

๐ŸŸฉ ์žฅ์ 

์ถœ๋ฐœ ๋…ธ๋“œ์—์„œ ๋ชฉํ‘œ ๋…ธ๋“œ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ธธ์ด ๊ฒฝ๋กœ๋ฅผ ๋ณด์žฅํ•œ๋‹ค.

 

๐ŸŸฉ ๋‹จ์ 

๊ฒฝ๋กœ๊ฐ€ ๋งค์šฐ ๊ธธ ๊ฒฝ์šฐ์—๋Š” ํƒ์ƒ‰ ๊ฐ€์ง€๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๋ณด๋‹ค ๋งŽ์€ ๊ธฐ์–ด๊ฑฐ ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•œ๋‹ค.

ํ•ด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ชจ๋“  ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•œ ํ›„์—๋„ ์‹คํŒจ๋กœ ๋๋‚œ๋‹ค.

๋ฌดํ•œ ๊ทธ๋ž˜ํ”„์˜ ๊ฒฝ์šฐ์—๋Š” ํ•ด๋ฅผ ์ฐพ์ง€๋„ ๋ชปํ•˜๊ณ , ๋๋‚ด์ง€๋„ ๋ชปํ•œ๋‹ค.

 

๐ŸŸฉ ํ™œ์šฉ

1. ์ฃผ๋กœ ๋‘ ๋…ธ๋“œ ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๊ณ  ์‹ถ์„ ๋•Œ ํ™œ์šฉ

2. ๊ฒ€์ƒ‰๋Œ€์ƒ์˜ ๊ทœ๋ชจ๊ฐ€ ํฌ์ง€ ์•Š๊ณ , ๊ฒ€์ƒ‰ ์‹œ์ž‘ ์ง€์ ์œผ๋กœ๋ถ€ํ„ฐ ์›ํ•˜๋Š” ๋Œ€์ƒ์ด ๋งŽ์ด ๋ฉ€์ง€ ์•Š์€ ๊ฒฝ์šฐ