์๋ฃ๊ตฌ์กฐ: ๋๋ ๋ฐ์ดํฐ์ ํจ์จ์ ์ธ ์ ์ง ๊ด๋ฆฌ ๋ฐฉ๋ฒ ์๊ณ ๋ฆฌ์ฆ ์์ฑ์ ์ฌ์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ์๋ ๋ค์ํ ์ข ๋ฅ๊ฐ ์์ง๋ง ๊ทธ ์ค ๋ํ์ ์ธ 5๊ฐ๋ฅผ ์์๋ณด์.
์๋ฃ๊ตฌ์กฐ์ ํ์์ฑ
์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ํ์์ฑ๊ณผ ์ฌ์ฉ๋ฒ
์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋์ ์๋ฆฌ์ ๊ตฌํ ๋ฐฉ๋ฒ์ ๋ํด ์ตํ๊ธฐ...1
์คํ์๋ฃ๊ตฌ์กฐ์ ๊ฐ๋ ๊ณผ ํ์ฉ ๋ฐฉ๋ฒ์ ๋ํด ์ดํดํ๊ธฐ
์คํ์ ํ์ฉํ ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ ์ค์ ํ๊ธฐ๋ฒ์ ํ์ ํ๊ธฐ๋ฒ์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ๋คํ์ ํ๊ธฐ๋ฒ์ ๊ณ์ฐํ์ฌ ๊ฒฐ๊ณผ ๊ฐ์ ๋์ถํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ๋ค
ํ(Queue) ์๋ฃ๊ตฌ์กฐ์ ๊ฐ๋ ๊ณผ ํ์ฉ ๋ฐฉ๋ฒ์ ๋ํด ์ดํดํ๊ธฐ C์ธ์ด๋ฅผ ์ด์ฉํด ํ ์๋ฃ๊ตฌ์กฐ ๊ตฌํํ๊ธฐ.......
์ ํ ์ ๋ ฌ๊ณผ ์ฝ์ ์ ๋ ฌ์,
ํต ์ ๋ ฌ(Quicksort)์ด๋,
์นด์ดํ ์ ๋ ฌ(Counting Sort)์ ์์ ์์ ์ ์์ธ ํค์ ๋ฐ๋ผ ๊ฐ์ฒด ์ปฌ๋ ์ ์ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฆ, ์ ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
๊ธฐ์์ ๋ ฌ์ ๋ฎ์ ์๋ฆฌ์๋ถํฐ ๋น๊ตํ์ฌ ์ ๋ ฌํด ๊ฐ๋ค๋ ๊ฒ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ผ๋ก ํ๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ. ๊ธฐ์์ ๋ ฌ์ ๋น๊ต ์ฐ์ฐ์ ํ์ง ์์ผ๋ฉฐ ์ ๋ ฌ ์๋๊ฐ ๋น ๋ฅด์ง๋ง, ๋ฐ์ดํฐ ์ ์ฒด ํฌ๊ธฐ์ ๊ธฐ์ ํ ์ด๋ธ์ ํฌ๊ธฐ๋งํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ ํ์ํ๋ค.
์ด์ง ํธ๋ฆฌ(binary tree)๋? ๊ฐ๊ฐ์ ๋ ธ๋๊ฐ ์ต๋ ๋ ๊ฐ์ ์์ ๋ ธ๋๋ฅผ ๊ฐ์ง๋ ํธ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ.
์์ฐจ ํ์(Sequential Search)๊ณผ ์ด์ง ํ์(Binary Search)์ ์๋ฆฌ๋ฅผ ์ดํดํ๊ธฐ
๊ทธ๋ํ(Graph)์ ๊ฐ๋ ์ ๋ํด ์ดํดํ๊ธฐ ๊ทธ๋ํ(Graph)๋? ๋จ์ํ ๋ ธ๋(N, node)์ ๊ทธ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฐ์ (E, edge)์ ํ๋๋ก ๋ชจ์ ๋์ ์๋ฃ ๊ตฌ์กฐ
๊น์ด ์ฐ์ ํ์(Depth First Search)์ด๋? ํ์์ ํ ๋ ๋ณด๋ค ๊น์ ๊ฒ์ ์ฐ์ ์ ์ผ๋ก ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค
๋๋น ์ฐ์ ํ์(Breadth First Search, BFS)์ด๋? ๋งน๋ชฉ์ ํ์๋ฐฉ๋ฒ์ ํ๋๋ก ์์ ์ ์ ์ ๋ฐฉ๋ฌธํ ํ ์์ ์ ์ ์ ์ธ์ ํ ๋ชจ๋ ์ ์ ๋ค์ ์ฐ์ ๋ฐฉ๋ฌธํ๋ ๋ฐฉ๋ฒ
์ด์ง ํ์ ํธ๋ฆฌ(binary Search Tree, BST)์ด๋? ์ด์ง ํ์(Binary Search)์ด ํญ์ ๋์ํ๋๋ก ๊ตฌํํ์ฌ ํ์ ์๋๋ฅผ ๊ทน๋ํ ์ํจ ์๋ฃ๊ตฌ์กฐ
ํด์(Hash)๋? ๋ฐ์ดํฐ๋ฅผ ์ต๋ํ ๋น ๋ฅธ ์๋๋ก ๊ด๋ฆฌํ๋๋ก ๋์์ฃผ๋ ์๋ฃ๊ตฌ์กฐ
์ต์ ์ ์ฅ ํธ๋ฆฌ(Minimum Spanning Tree, MST)๋? ๊ทธ๋ํ ๋ด์ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ(=์ ์ฅ ํธ๋ฆฌ: Spanning)์ค์์ ์ฌ์ฉ๋ ๊ฐ์ ๋ค์ ๊ฐ์ค์น ํฉ์ด ์ต์์ธ ํธ๋ฆฌ
๋ค์ต์คํธ๋ผ(Dijkstra)์ ์ต๋จ ๊ฒฝ๋ก๋? ๋๋ก ๊ตํต๋ง ๊ฐ์ ๊ณณ์์ ๋ํ๋ ์ ์๋ ๊ทธ๋ํ์์ ๊ผญ์ง์ ๊ฐ์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ
๊ตฌ๊ฐํธ๋ฆฌ(Segment Tree)๋? ๊ตฌ๊ฐํธ๋ฆฌ๋ ํน์ ๊ตฌ๊ฐ์์ ํน์ ํ ๊ฐ์ ๋ฝ์์ฌ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ. ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ ๋ผ๊ณ ๋ ํ๋ค
์ธ๋ฑ์ค ํธ๋ฆฌ(Indexed Tree)๋? ๊ตฌ๊ฐ ํฉ์ ๊ตฌํ๋ ํธ๋ฆฌ์ ์ข ๋ฅ๋ก ์ธ๋ฑ์ค ํธ๋ฆฌ, ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ, ํ์ ํธ๋ฆฌ๊ฐ ์๋ค. ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ๋ ์ธ๋ฑ์ค ํธ๋ฆฌ๊ฐ ํฌํจํ๊ณ ์๋ ํ ์ข ๋ฅ
KMP ์๊ณ ๋ฆฌ์ฆ์ ์ ๋์ฌ์ ์ ๋ฏธ์ฌ๋ฅผ ํ์ฉํด ๋น ๋ฅด๊ฒ ๋ฌธ์์ด ๋งค์นญ์ ์ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค