๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰ (2)

CS Studentโ€™s SAP&Tech Journey๐Ÿ’ซ

[๋ฐฑ์ค€] 24444๋ฒˆ: ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰1 / ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰ BFS

99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 4์ผ1. ๋ฐฑ์ค€ 24444๋ฒˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… -  ๋„ˆ๋น„ ์šฐ์„ ํƒ์ƒ‰ 1[๋ฐฑ์ค€] 24444๋ฒˆ: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… - ๋„ˆ๋น„ ์šฐ์„ ํƒ์ƒ‰  2. ์˜ค๋Š˜์˜ ํšŒ๊ณ  0. ๋ฌธ์ œ ๋ถ„์„N๊ฐœ์˜ ์ •์ ๊ณผ M๊ฐœ์˜ ๊ฐ„์„ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„(undirected graph)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ •์  ๋ฒˆํ˜ธ๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ์ด๊ณ  ๋ชจ๋“  ๊ฐ„์„ ์˜ ๊ฐ€์ค‘์น˜๋Š” 1์ด๋‹ค. ์ •์  R์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์œผ๋กœ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•  ๊ฒฝ์šฐ ๋…ธ๋“œ์˜ ๋ฐฉ๋ฌธ ์ˆœ์„œ๋ฅผ ์ถœ๋ ฅํ•˜์ž.๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ ์˜์‚ฌ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ธ์ ‘ ์ •์ ์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐฉ๋ฌธํ•œ๋‹ค. : ์ธ์ ‘ ์ •์ ์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐฉ๋ฌธ์‹œ์ผœ์•ผํ•˜๋ฏ€๋กœ ์ •๋ ฌํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.  1. ์ž…๋ ฅ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ์ˆ˜ N (5 โ‰ค N โ‰ค 100,000), ๊ฐ„์„ ์˜ ์ˆ˜ M (1 โ‰ค M โ‰ค 200,000), ์‹œ์ž‘ ์ •์  R (1 โ‰ค R โ‰ค ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰(BFS)์ด๋ž€

1. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ BFS ( Breadth-First Search )BFS๋Š” ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋ฉฐ, ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. BFS๋Š” ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜๋ฉฐ, ๊ตฌ์ฒด์ ์ธ ๋™์ž‘ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ํ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.ํ์—์„œ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ธ ๋’ค์— ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ธ์ ‘ ๋…ธ๋“œ ์ค‘์—์„œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ํ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ ํ•œ๋‹ค.๋” ์ด์ƒ 2๋ฒˆ์˜ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. 2. BFS ๋™์ž‘ ์˜ˆ์‹œ[Step 0] ๊ทธ๋ž˜ํ”„๋ฅผ ์ค€๋น„ (๋ฐฉ๋ฌธ๊ธฐ์ค€ : ๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์€ ์ธ์ ‘๋…ธ๋“œ๋ถ€ํ„ฐ) / ์‹œ์ž‘๋…ธ๋“œ : 1[Step 1] ์‹œ์ž‘๋…ธ๋“œ โ€˜1โ€™์„ ํ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.[Step 2] ํ์—์„œ ๋…ธ๋“œ โ€˜1โ€™์„ ๊บผ๋‚ด ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘๋…ธ๋“œ โ€˜2โ€™..