๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

MST2

[MST] ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ - ํฌ๋ฃจ์Šค์นผ(Kruskal), ํ”„๋ฆผ(Prim) MST๋ž€? ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ(Minimum Spanning Tree)๋กœ ๊ฐ€์ค‘ ๊ทธ๋ž˜ํ”„(Weight Graph)์—์„œ ๊ฐ€์žฅ ์ ์€ ๋น„์šฉ(Weight)์œผ๋กœ ๋ชจ๋“  ์ •์ (Vertex)์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„ ๊ทธ๋ž˜ํ”„(Sub Graph)์ด๋‹ค. MST๋Š” ๊ฐ ์ •์ ์—์„œ ์ •์  ์‚ฌ์ด์— ํ•˜๋‚˜์˜ ๊ฐ„์„ (Edge)๋งŒ ํ•„์š”ํ•˜๋ฏ€๋กœ ์ด N-1 ๊ฐœ์˜ ๊ฐ„์„ ์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฏ€๋กœ ๋งˆ์น˜ ํŠธ๋ฆฌ์˜ ํ˜•ํƒœ๋ฅผ ํ•˜๊ณ  ์žˆ์–ด์„œ ํŠธ๋ฆฌ๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™๋Š”๋‹ค.ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1. ๋ชจ๋“  ๊ฐ„์„ ์„ ๋น„์šฉ์ด ์ ์€ ์ˆœ์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. - Sort2. ๊ฐ„์„ ์— ๋ถ™์€ ์ •์  u์™€ v๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ€๋ชจ๋ฅผ ์ฐพ๋Š”๋‹ค. - Find3. ์ •์  u์˜ ๋ถ€๋ชจ์™€ ์ •์  v์˜ ๋ถ€๋ชจ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ์ง‘ํ•ฉ์— ์†ํ•ด์žˆ์ง€๋งŒ, 1๋ฒˆ ๊ณผ์ •์œผ๋กœ ์ธํ•ด ํ•ด๋‹น ๊ฐ„์„ ์ด ๋‘ ์ •์ ์˜ ์ตœ์†Œ ๋น„์šฉ์˜ ๊ฐ„์„ ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•˜๋‚˜์˜.. 2024. 7. 11.
๋ฐฑ์ค€ - [BOJ 1865] ์›œํ™€ ๋ฌธ์ œ๋•Œ๋Š” 2020๋…„, ๋ฐฑ์ค€์ด๋Š” ์›”๋“œ๋‚˜๋ผ์˜ ํ•œ ๊ตญ๋ฏผ์ด๋‹ค. ์›”๋“œ๋‚˜๋ผ์—๋Š” N๊ฐœ์˜ ์ง€์ ์ด ์žˆ๊ณ  N๊ฐœ์˜ ์ง€์  ์‚ฌ์ด์—๋Š” M๊ฐœ์˜ ๋„๋กœ์™€ W๊ฐœ์˜ ์›œํ™€์ด ์žˆ๋‹ค. (๋‹จ ๋„๋กœ๋Š” ๋ฐฉํ–ฅ์ด ์—†์œผ๋ฉฐ ์›œํ™€์€ ๋ฐฉํ–ฅ์ด ์žˆ๋‹ค.) ์›œํ™€์€ ์‹œ์ž‘ ์œ„์น˜์—์„œ ๋„์ฐฉ ์œ„์น˜๋กœ ๊ฐ€๋Š” ํ•˜๋‚˜์˜ ๊ฒฝ๋กœ์ธ๋ฐ, ํŠน์ดํ•˜๊ฒŒ๋„ ๋„์ฐฉ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์‹œ์ž‘์„ ํ•˜์˜€์„ ๋•Œ๋ณด๋‹ค ์‹œ๊ฐ„์ด ๋’ค๋กœ ๊ฐ€๊ฒŒ ๋œ๋‹ค. ์›œํ™€ ๋‚ด์—์„œ๋Š” ์‹œ๊ณ„๊ฐ€ ๊ฑฐ๊พธ๋กœ ๊ฐ„๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ๋„ ์ข‹๋‹ค.์‹œ๊ฐ„ ์—ฌํ–‰์„ ๋งค์šฐ ์ข‹์•„ํ•˜๋Š” ๋ฐฑ์ค€์ด๋Š” ํ•œ ๊ฐ€์ง€ ๊ถ๊ธˆ์ฆ์— ๋น ์กŒ๋‹ค. ํ•œ ์ง€์ ์—์„œ ์ถœ๋ฐœ์„ ํ•˜์—ฌ์„œ ์‹œ๊ฐ„์—ฌํ–‰์„ ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์—ฌ ๋‹ค์‹œ ์ถœ๋ฐœ์„ ํ•˜์˜€๋˜ ์œ„์น˜๋กœ ๋Œ์•„์™”์„ ๋•Œ, ์ถœ๋ฐœ์„ ํ•˜์˜€์„ ๋•Œ๋ณด๋‹ค ์‹œ๊ฐ„์ด ๋˜๋Œ์•„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ๋ฐฑ์ค€์ด๋ฅผ ๋„์™€ ์ด๋Ÿฐ ์ผ์ด ๊ฐ€๋Šฅํ•œ์ง€ ๋ถˆ๊ฐ€๋Šฅํ•œ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์—ฌ๋ผ.์ž…๋ ฅ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š”.. 2024. 7. 6.