ํ์ํ๊ธฐ๋ฒ์ผ๋ก ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ ๊ณ์ฐ๊ธฐ ๊ด๋ จ ์ธ์ฃผ๊ฐ ๋ค์ด์์ ํด๋ณด๋ ์ค, ์์ ์ ๋ฐฐ์ ๋ ํ์ํ๊ธฐ๋ฒ์ ์ฌ์ฉํด์ผํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ธฐ์ต์ด ์๋์ ๊ฒ์ ์์ด ํผ์ ๊ตฌํํ๋ ค๋ค ๋ณด๋ ๋๋ฌด ์ด๋ ค์ ๋ค... ๊ฒ์ํด๋ณด๋๊น stack์ ์ด์ฉํด์ ํ์ํ๊ธฐ๋ฒ์ ๋ง๋๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ๋์์์ด์ ๊น๋จน์ง ์๊ธฐ ์ํด ๊ธฐ๋กํ๋ค. ํ์ ํ๊ธฐ๋ฒ ์์ ํธ๋ฆฌ ํ์ ํ๊ธฐ๋ฒ์ด๋ ๊ณ์ฐ์์์ ๊ณ์ฐ์ ์ํด ์ฌ์ฉํ๋ ํ๊ธฐ๋ฒ์ด๋ค. ์์ ์ ํจ๊ป ์ดํด๋ณด์. ์์ : 9x3+1-3%3 ์์์ด ์ฃผ์ด์ก์ ๋ ๋น์ฐ์ฐ์์ ์ฐ์ฐ์๋ก ๋๋ ํ, ๊ฐ ํญ๋ชฉ์ ํ๋์ ๋ ธ๋๋ผ๊ณ ์๊ฐํ๋ฉด ํธ๋ฆฌ ํํ๋ก ๋ง๋ค ์ ์๋ค. ์ด๋ฌํ ํธ๋ฆฌ๋ ์์์ ํธ๋ฆฌ๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ก ๋ง๋ ๊ฒ์ด๋ ์์ํธ๋ฆฌ, ์ฆ Expression Tree๋ผ๊ณ ๋ถ๋ฆฐ๋ค. ํธ๋ฆฌ ์ํ์ ํ๊ธฐ๋ฒ ํธ๋ฆฌ๋ฅผ ์ํํ๋ ๋ฐฉ์์๋ prefix(์ ์)..
์ต๋จ ๊ฒฝ๋ก ๊ทธ๋ํ์์ ์ ๋๋๋ ๋ฌธ์ ๋ค ์ค ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๊ฐ ์๋ค. ์ฃผ์ด์ง ๊ทธ๋ํ์์ ํน์ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก(๊ฐ์ค์น ํฉ์ด ์ต์์ธ ๊ฒฝ๋ก)๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์๋ด๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ์ด์ ์ MST ๋ฌธ์ ์ ๋ค๋ฅด๋ค. ๋ชจ๋ ์ ์ ์ ํฌํจํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง MST์์ ์ฌ์ฉํ๋ Prim(Dijkstra) ์๊ณ ๋ฆฌ์ฆ์ ์์ฉํด์ ๊ตฌํํ ์ ์๋ค. [MST] Dijkstra ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ vertice(์ ์ )๋ 3๊ฐ์ง ๋ถ๋ฅ๋ก ๋๋๋ค. tree vertice(T) : tree์ ์ํด ์๋ ์ ์ fringe vertice (F) : tree์ ํฌํจ๋์ง ์์ผ๋ฉด์ ์ฐ๊ฒฐ๋์ด์๋ ์ ์ unseen vertice (U) : ๋๋จธ์ง MST์์ T์ F์ ์ ์ ์ฌ์ด์ ์ต์ ๊ฐ์ค์น๋ฅผ ๊ณ์ ๊ฐฑ์ ํด์ฃผ์๋ ๊ฒ ๋์ ์, ์ต๋จ..
MST Spanning Tree : ๊ทธ๋ํ ๋ด์ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ ์ฐ์ ํธ๋ฆฌ์ ์ ์๋ connected undirected acyclic graph (์ฐ๊ฒฐ ๋น๋ฐฉํฅ ๋น์ํ ๊ทธ๋ํ)์ด๋ค. ๋ชจ๋ ๋ ธ๋๋ ์ฐ๊ฒฐ๋์ด์์ผ๋ฉฐ, ๋ฐฉํฅ์ฑ์ ์๊ณ ์ํ์ด ์กด์ฌํ์ง ์๋ ๊ทธ๋ํ์ด๋ค. ํ๋์ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ๋ํ ๋ด์์ ์ฌ๋ฌ ํธ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์๋ค. ๊ทธ ์ค ํน๋ณํ๊ฒ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ๋ฅผ Spanning Tree๋ผ๊ณ ํ๋ค. ๋ค๋ฅด๊ฒ ๋งํ๋ฉด Spanning tree(์ ์ฅ ํธ๋ฆฌ)๋ ๊ทธ๋ํ์ ๋ถ๋ถ ๊ทธ๋ํ๋ฉด์ ๊ฐ์ ์ ์๊ฐ ๊ฐ์ฅ ์ ์(์ต์ ์ฐ๊ฒฐ) ๊ทธ๋ํ์ด๋ค. ๊ฐ์ด ์์จ๋ค๋ฉด ๊ทธ๋ฆผ์ผ๋ก ์ดํด๋ณด์. ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์ํ์ ๊ฐ์ ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ๋ถ๋ถ ๊ทธ๋ํ๊ฐ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ค. ์ด ๋ถ..
๊ทธ๋ํ ํ์ ๊ทธ๋ํ๋ฅผ ํ์ํ๋ ๊ธฐ๋ฒ์๋ ๋ํ์ ์ผ๋ก 2๊ฐ์ง๊ฐ ์๋ค. ๋๋น ์ฐ์ ํ์์ธ BFS(Breadth-First Search)์ ๊น์ด ์ฐ์ ํ์์ธ DFS(Depth-First Search)์ด๋ค. BFS BFS๋ ํ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค. ์ค๋ช ํธ๋ฆฌ๋ก ์๋ฅผ ๋ค์์ง๋ง, ๋ชจ๋ ๊ทธ๋ํ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ํ๋ค. ๋ฃจํธ ๋ ธ๋๋ฅผ queue์ ๋ฃ๋๋ค. queue์ ๋ ธ๋๋ฅผ ํ๋ ๊บผ๋ธ ํ, ํด๋น ๋ ธ๋์์ ์ธ์ ๋ ธ๋๋ฅผ ๋ชจ๋ queue์ ๋ฃ๋๋ค. ์์ ๋ฐฉ์์ ๋ชจ๋ ๋ ธ๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค. stack์ ๋ค์ด๊ฐ ์์๋ฅผ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 1=>2=>3=>4=>5=>6=>7=>8 ๋ฐ๋ผ์ ํธ๋ฆฌ์์ BFS๋ฅผ ์คํํ์ฌ ํ์์ ํ๋ ๊ฒ์ ๋ ๋ฒจ ์ํ๋ฅผ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค. DFS DFS๋ ์คํ์ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค. ์ค๋ช ํธ๋ฆฌ๋ก ์๋ฅผ ๋ค..
์์ด๊ณผ ์กฐํฉ ์์ด ์ ์ ์์ด์ ์ค๋ณต์์ด n๊ฐ ์ค r๊ฐ๋ฅผ ๋ฝ์ ์์๋ฅผ ์ ํด ๋์ดํ๋ ๊ฒฝ์ฐ์ด๋ค. ์์ ๊ทธ๋ฆผ์ฒ๋ผ A, B, C ์ธ๊ฐ์ง ์์๊ฐ ์์ ๋, 2๊ฐ๋ฅผ ๋ฝ์ ์์๋ฅผ ์ ํ๋ ๊ฒ์ 3P2๋ผ๊ณ ํ๋ค. ์๋์ ๊ฐ์ ๊ฒฝ์ฐ์ ์๊ฐ ๋์ค๋ฏ๋ก ์ด 6๊ฐ์ง ์ด๋ค. ์์ด์ P(Permutation)๋ก ํํํ๋ฉฐ ์์ ๋ค์๊ณผ ๊ฐ๋ค. $$ {}n\mathrm{P}{r} = \frac{n!}{(n-r)!} $$ ์ค๋ณต ์์ด์ด๋ผ๋ ํน๋ณํ ๊ฒฝ์ฐ๋ ์์ด ์ค ๊ฐ์ ์ข ๋ฅ์ ๊ฒ์ ๋ค์ ๋ฝ์ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. ์ค๋ณต ์์ด์ Π๋ก ํํํ๋ฉฐ ์์ ๋ค์๊ณผ ๊ฐ๋ค. $$ {n}\mathrm{\pi}{r} = n^r $$ ๊ตฌํ ์์ด // ์ง์ ๊ตฌํ void swap(vector& set, int a, int b){ int tmp = set[a]; ..
์ต๋ ์ต์ ์ฐพ๊ธฐ ์ ํ ๋ฌธ์ ์ฃผ์ด์ง ๋ฆฌ์คํธ์ ์ต๋, ์ต์ ๊ฐ์ ์ฐพ๊ฑฐ๋ n๋ฒ์งธ ํฐ ๊ฐ, n๋ฒ์งธ ์์ ๊ฐ์ ์ฐพ๋ ๊ณผ์ ๋ ํ๋ก๊ทธ๋จ์์ ๋ง์ด ๋ฑ์ฅํ๋ค. ์ด๋ ๊ฒ n๊ฐ์ ์ซ์๋ค ์ค k๋ฒ์งธ๋ก ์์(๋๋ ํฐ) ๊ฐ์ ์ฐพ๋ ๋ฌธ์ ๋ฅผ 'Selection problem' ์ฆ, ์ ํ ๋ฌธ์ ๋ผ๊ณ ํ๋ค. ์ต๋ ์ต์ ์ฐพ๊ธฐ ์ ํ ๋ฌธ์ ์์ ๊ฐ์ฅ ์ฌ์ด ๋ฌธ์ ๊ฐ ์ต๋ / ์ต์๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ฃผ์ด์ง ๋ฆฌ์คํธ์ ์ต๋๊ฐ์ ์ฐพ๊ธฐ ์ํด์๋ ์ด๋ค ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ ๊น? ์ ๋ ฌ ๋จผ์ , ์ด์ ์ ๋ฐฐ์ ๋ ์ ๋ ฌ์ ์ด์ฉํ ์ ์๋ค. ์ ๋ ฌ ํ ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์๋ฅผ ๊ฐ์ ธ์ค๋ฉด ์ต๋๊ฐ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์ค๊ฐ ์์๋ค์ ์ ๋ ฌ์ ์ต๋๊ฐ์ ์ฐพ๋๋ฐ์ ๋ถํ์ํ ๊ณผ์ ์ด๋ค. ๋ฐ๋ผ์ ์ ๋ ฌ์ ์ด์ฉํ๋ฉด ์ ๋ ฌ์ ์ต์ ์๊ฐ๋ณต์ก๋์ธ O(nlgn)๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. min/..
ํ์ ํ์์ ์ฃผ์ด์ง ์๋ฃ๋ค ์ค ์ํ๋ ์กฐ๊ฑด์ ํด๋นํ๋ ์๋ฃ๋ฅผ ์ฐพ๋ ๊ณผ์ ์ด๋ค. ์ปดํจํฐ์์ ํ์์ ์์ฃผ ์ด๋ฃจ์ด์ง๋ฏ๋ก ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ์ํํ๋ ๊ฒ์ด ์ค์ํ๋ค. ์ด์ ์ ๋ฐฐ์ ๋ '์ ๋ ฌ'์ ํ์์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ์ ๋ ฌ์ ๋ฆฌ์คํธ๋ฅผ ํ๋์ ๊ธฐ์ค์ผ๋ก ๋ํ๋ด๊ธฐ ์ํด์๋ ์ฐ์ด์ง๋ง ์ํ๋ ์๋ฃ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ํ๊ธฐ ์ํด ์ฐ์ด๊ธฐ๋ ํ๋ค. ๋ฌผ๋ก ๊ตณ์ด ์ ๋ ฌ์ด ์๋๋๋ผ๋ ํ์์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ค. ์ ๋ ฌ ๋ณด๊ธฐ ์์ผ๋ก ์๊ฐํ ํ์์ ๋ค์์ 4๊ฐ์ง ์ข ๋ฅ์ด๋ค. ์ ํํ์ ์ด์งํ์ ํด์ํ์ BST ํ์์ ์ํด์๋ ๋ฐฐ์ด, ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ํธ๋ฆฌ, ๊ทธ๋ํ ๋ฑ ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋๋ฉฐ, ์ํฉ์ ๋ฐ๋ผ ๋ง์ถฐ์ ์ฌ์ฉํ๋ฉด ๋๋ค. ์๋ฃ๊ตฌ์กฐ ๋ณด๊ธฐ ์ ํ ํ์ ์์ฐจ ํ์์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ์ ํ ํ์์ ๊ฐ์ฅ ๊ฐ๋จํ ํ์ ๋ฐฉ๋ฒ์ด๋ค. ์ ํ ํ์..
BST BST(Binary Search Tree)๋ ํธ๋ฆฌ์ ํ ์ข ๋ฅ์ด์ ์ด์งํ์์ ์ํ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ๊ณผ์ BST๋ฅผ ์ด์ฉํ ํ์์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์ด์ง ํ์ ํธ๋ฆฌ ๋ง๋ค๊ธฐ (์์ฑ) ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์ ์ฐพ๊ธฐ (ํ์) ์ญ์ ๋ฐ ์ฝ์ ํ๊ธฐ (์ญ์ / ์ฝ์ ) ์์ ๋จผ์ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ณด์. ์ด์ง ํ์ ํธ๋ฆฌ๋ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ์์ ๊ฐ์ ๋ ธ๋๊ฐ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ํฐ ๊ฐ์ ๋ ธ๋๊ฐ ์์ด์ผํ๋ค. ๋ฐ๋ผ์ ์์๋ฅผ ํ๋์ฉ ์ฝ์ ํ๋ฉด์ ์๋ง์ ์์น๋ฅผ ์ฐพ์์ฃผ๋ฉด ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋์จ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ์ค์ ์ํํ๋ฉด ์ ๋ ฌ๋ ๋ฆฌ์คํธ๊ฐ ๋๋ค. ๊ทธ ๋ค์์๋ ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์๋ฅผ ์ฐพ๊ณ ์ญ์ ํด๋ณด์. ์ํ๋ ์์๋ 6์ด๋ค. ์ผ์ชฝ ๊ทธ๋ฆผ์์ ์ค๋ฅธ์ชฝ ๊ทธ..
Comment