[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ž๋ฃŒ๊ตฌ์กฐ - ํŠธ๋ฆฌ
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 28. 14:20

ํŠธ๋ฆฌ ์šฉ๋„ ์šฉ์–ด ์ •๋ฆฌ ์ข…๋ฅ˜ ์ด์ง„ ํŠธ๋ฆฌ ์ผ๋ฐ˜ ํŠธ๋ฆฌ ์Šค๋ ˆ๋“œ ์ด์ง„ ํŠธ๋ฆฌ ๊ตฌํ˜„ ๋ฐฐ์—ด ํ‘œํ˜„๋ฒ• ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ํ‘œํ˜„๋ฒ• ํŠธ๋ฆฌ ํ™œ์šฉ ํƒ์ƒ‰ ์ง‘ํ•ฉ ํ‘œํ˜„ ํ—ˆํ”„๋งŒ ์ฝ”๋“œ ํŠธ๋ฆฌ ํŠธ๋ฆฌ๋ž€ ๊ทธ๋ž˜ํ”„์˜ ํ•œ ์ข…๋ฅ˜๋กœ ๋ฌด๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„(Connected Undirected Acyclic Graph)์ด๋‹ค. ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ์กด์žฌํ•˜๊ณ , ๋ฃจํŠธ ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋…ธ๋“œ์˜ in-degree๊ฐ€ 1์ธ ๋ฐฉํ–ฅ๊ทธ๋ž˜ํ”„๋ผ๊ณ  ๋งํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ ๊ทธ๋ž˜ํ”„์˜ ํ•œ ์ข…๋ฅ˜์ด๋ฏ€๋กœ ๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์— ์†ํ•œ๋‹ค. ์šฉ๋„ ๊ณ„์ธต์ ์ธ ์กฐ์ง์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜, ์ปดํ“จํ„ฐ์˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ / ์ธ๊ณต์ง€๋Šฅ์˜ decision tree ๋“ฑ์— ์ด์šฉ๋œ๋‹ค. ๋˜ํ•œ ์ž๋ฃŒ์˜ ํƒ์ƒ‰ / ์ •๋ ฌ / DB ๊ตฌ์„ฑ์ด๋‚˜ ๋ถ„์ž๊ตฌ์กฐ์‹ ์„ค๊ณ„ ๋“ฑ์—์„œ๋„ ๋‹ค์–‘ํ•˜๊ฒŒ ์ด์šฉ๋œ๋‹ค. (๊ฒฐ์ •ํŠธ๋ฆฌ)(์ด์ง„ํƒ์ƒ‰) ์šฉ์–ด ์ •๋ฆฌ ๋…ธ๋“œ ..