์ ๋ชฉ : ๊ทธ๋ฆผ์ผ๋ก ์ ๋ฆฌํ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์๋ฃ๊ตฌ์กฐ
์ ์ : ์กฐ๋ฏผํธ
์ถํ์ฌ : ์ ๋ณด๋ฌธํ์ฌ
๋ชฉ์ฐจ
- ์ปดํจํฐ๋ฅผ ๋ฐ๋ผ๋ณด๋ ๊ด์
- ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋ฌด์์ธ๊ฐ?
- ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฐ
- ์๋ฃ๊ตฌ์กฐ
- ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
- ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ
- ์ปดํจํฐ ์ญ์ฌ์ ๋จ์ ์ ๋ช ํ ์๊ณ ๋ฆฌ์ฆ
- ์๊ณ ๋ฆฌ์ฆ ํ์ฉ์ ์ํ ์ถ๊ฐ ์ง์
2์ฅ ์์ฝ
์ปดํจํฐ๋ ํ์ , ์ ํ, ์๋ต, ๊ธฐ์ต์ ๋ค ๊ฐ์ง ์ฃผ์ ํ๋ก๋ก ๊ตฌ์ฑ๋ ๊ธฐ๊ณ์ด๋ค. ์ฃผ์ด์ง ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋ค ๊ฐ์ง ๊ธฐ๋ฅ์ ๋ฐ๋ณต ์ํํ๋ค.
ํ๋ก๊ทธ๋๋ฐ : ๋ฌธ์ ํด๊ฒฐ์ ์ํ์ฌ ์ํํ ์์ ์ ๋จ์ ์์ ์ผ๋ก ๋๋๊ณ ์ด๊ฒ์ ์ด๋ป๊ฒ ์ํํด์ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋์ง ์ฐ๊ตฌ
์ฝ๋ฉ : ํ๋ก๊ทธ๋๋ฐ๋ ๊ฒ์ ํน์ ์ธ์ด๋ก ๋ฒ์ญํ๋ ๊ณผ์ ์ด๋ฉฐ ์ฝ๋ฉ๋ ๊ฒ์ ์ปดํจํฐ์์ ์ํํ ์ ์๋ค.
์๊ณ ๋ฆฌ์ฆ : ํ๋ก๊ทธ๋๋ฐ์์ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋จ์ ์์ ์ ์ด๋ค ์์๋ก ์ด๋ป๊ฒ ๋ฐ๋ณตํ๋ฉด ํจ๊ณผ์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋์ง ์ฐ๊ตฌํ๋ ๋ถ์ผ
์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ๋จ์ ์์ ์ผ๋ก ๋๋๊ณ , ์ด๊ฒ์ ์งํ ์์๋ ์ ์ฐจ๋ฅผ ํ๋ฆ๋๋ฅผ ์ด์ฉํด์ ํํํ๋ค.
3.1 ํ๋ก๊ทธ๋จ๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ๊ด๊ณ
์ข์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๊ธฐ ์ํด์๋ ์ฃผ์ด์ง ๊ณผ์ ๋ฅผ ๋จ์ ์์ -๋ ์ชผ๊ฐ๋ฉด ์๋ฏธ๊ฐ ์์ด์ง๋ ๋จ์๋ก ์ชผ๊ฐ๋ ์์ ์ผ๋ก ๋๋ ํ์,
์ด๋ค์ ์ ์กฐํฉํ ์ ์๋ ๋ฅ๋ ฅ์ ๊ฐ์ ธ์ผ ํ๋ค.
3.4 ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์กฐํ
์๊ณ ๋ฆฌ์ฆ์ ๊ณ ์ํ๋ ค๋ฉด ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๊ตฌ์กฐํ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ค.
๊ตฌ์กฐํ๋ ์ ์ฒด๋ฅผ ๋ถ๋ถ์ผ๋ก ๋๋์ด ๊ตฌ์กฐํํ ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑํ๋ ์๋ น์ ๋งํ๋ค.
4์ฅ ์๋ฃ๊ตฌ์กฐ ์์ฝ
- ์๋ฃ๊ตฌ์กฐ๋ ์ปดํจํฐ์์ ๋ค๋ค์ผ ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ, ์ด๊ฒ์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ฌ์ฉ์์ ํธ๋ฆฌ์ฑ์ ์ํ์ฌ ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ๊ฐ๋ฐ๋์ง๋ง, ์ค์ ์ ์ธ ๊ตฌํ์ ๋ฆฌ์คํธ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ค.
4.1 ์ปดํจํฐ์ ๋ฐ์ดํฐ ์ทจ๊ธ ๋ฐฉ๋ฒ
์ฌ์ฉ์ ์ ์ ์๋ฃํ์ ์ข ๋ฅ๋ ๋ํ์ ์ธ ํ์ด ๋์ผํ ๊ฒ์ ์ฌ๋ฌ ๊ฐ ๋ชจ์์ ์ฒ๋ฆฌํ๋ ๋ฐฐ์ด๊ณผ ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์ ์ฌ๋ฌ ๊ฐ ๋ชจ์์ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ์ฒด, ๊ทธ๋ฆฌ๊ณ ๊ตฌ์กฐ์ฒด์ ์ฒ๋ฆฌํ๋ ํจ์๋ฅผ ํฌํจํ๋ ํด๋์ค๋ก ๋๋์ด ๋ณผ ์ ์๋ค.
๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ ์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์๋ฃํ์ ์ ์ํ ๋ค์ ๋ง๋ ๋ค. ๊ทธ๋ฌ๋ฏ๋ก, ๋จ์ ์์ ์ ๋ถ๋ฅ์ ์ํ ์ ์ฐจ๋ฅผ ํ์ (์๊ณ ๋ฆฌ์ฆ)ํ ๋ค์ ์ค์ ํ๋ก๊ทธ๋จ ์ฝ๋ฉ์ ํ๊ธฐ ์ ์, ์ฌ์ฉํ ์๋ฃํ์ ์ ์ํ๋ ๊ฒ์ ํ์์ ์ธ ๊ณผ์ ์ด๋ค.
4.4 ์๋ฃ๊ตฌ์กฐ์ ๊ตฌํ
์๋ฃ๊ตฌ์กฐ์ ์ข ๋ฅ๋ ๋ง์ง๋ง, ์ค์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๋ ๊ธฐ์ ์ ๋ฆฌ์คํธ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ ๊ฐ์ง๊ฐ ์๋ค. ์ฆ ๋ฆฌ์คํธ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ์ฌ ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ๋ง๋ค์ด์ง๋ค.
๋ฆฌ์คํธ : ๋ฐ์ดํฐ๋ค์ด ์ฐ์์ ์ธ ๊ณต๊ฐ์ ํ ๋น ๋ฐ์ ๋ง๋ค์ด์ง๋ ๊ตฌ์กฐ
์ฐ๊ฒฐ๋ฆฌ์คํธ :๋ฐ์ดํฐ๋ค์ด ๊ฐ๊ฐ ๊ณต๊ฐ์ ํ ๋น ๋ฐ๊ณ , ๋ฐ์ดํฐ ์ฌ์ด์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๋ ๊ตฌ์กฐ
๋ฆฌ์คํธํ ์๋ฃ๊ตฌ์กฐ๋ ๋๊ฐ์ง๊ฐ ์๋ค. ํฌ๊ธฐ๊ฐ ๋ณํ์ง ์๋ ๋ฐฐ์ด๊ณผ ํฌ๊ธฐ๊ฐ ๋ณํ๋ ๋ฆฌ์คํธ. ๋ฆฌ์คํธ๋ก ์ ์ธ๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ธ ๊ณต๊ฐ์ ํ ๋น๋ฐ์ ์ฌ์ฉํ๊ฒ ๋๋ค. ์ด์ ๋ฐํด ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ์ง ์๊ณ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฒด์ ์ผ๋ก ๊ตฌํํ์ฌ ์ฌ์ฉํ๋ค. ๋ฐ์ดํฐ๋ฅผ ํฌ์ธํฐ๋ก ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉํ๋ค.
- ํด์ฌ ํ ์ด๋ธ์ ๊ตฌํ
ํด์ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋, ์ ์ฅํ ์์น๋ฅผ ํด์ฌ ํจ์๋ฅผ ์ด์ฉํด์ ์์ฑํ๊ณ , ์์ฑ๋ ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์์ ์ฌ์ฉํ๋ ์ฃผ์ ํ ์ด๋ธ์ด๋ค. ์์ ๋ฆฌ์คํธ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์กฐํฉํ์ฌ ์ฌ์ฉํ๋ฉฐ, ๋ฐ์ดํฐ์ ์ง์ ์ ์ธ ์ ๊ทผ์ด ๊ฐ๋ฅํ์ฌ ์ ์ฅ/์ฝ๊ธฐ ์๋๊ฐ ๋น ๋ฅด๋ค.
-์คํ ์๋ฃ๊ตฌ์กฐ ์์๋ณด๊ธฐ
์คํ ํํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ LIFOํ์ด๋ผ๊ณ ํ๋ฉฐ, ์คํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๊ฒ์ ํธ์, ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ๊ฒ์ ํ์ด๋ผ๊ณ ํ๋ค.
์คํ์ ๊ตฌํ์ ๋ฐฐ์ด์ ์ด์ฉํด๋ ๋๊ณ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํด๋ ๋๋ค. ์คํ์ ๋ํ์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ํํ ๋์, ์์์ ์ฐ์ฐํ๋ ์ํ๊ณผ์ ์์ ์ฌ์ฉํ๋ค.
๋ค์ค ์คํ : ํ๋์ ๊ณต๊ฐ์ 2๊ฐ์ ์คํ์ ๊ตฌํํ์ฌ ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ค์ค ์คํ์ด๋ผ๊ณ ํ๋ค.
-ํ ์๋ฃ๊ตฌ์กฐ
ํ ํํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ FIFOํ์ด๋ผ๊ณ ํ๋ค. ํ์ ๊ตฌํ์ ๋ฐฐ์ด์ ์ด์ฉํ๊ฑฐ๋(์ํ ํ), ๋๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ๋ค(๋งํฌ๋ ํ).
-๋ฐํฌ ์๋ฃ๊ตฌ์กฐ
๋ฐํฌ๋ ๋ฆฌ์คํธ์ ์์ชฝ ๋์์ ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ๋ชจ๋ ์ด๋ฃจ์ด์ง๋ ์๋ฃ๊ตฌ์กฐ์ด๋ฉฐ, ์คํ๊ณผ ํ๋ฅผ ํผํฉํ ๊ตฌ์กฐ๋ก ํ๋์ ๋ฐฐ์ด์ ์ ์ธํ ํ, 2๊ฐ์ ํฌ์ธํฐ๋ก ์์ชฝ ๋์ ๊ฐ๋ฆฌํค๊ณ ์ด๊ฒ์ ์ด์ฉํ์ฌ ์์ชฝ์์ ์ฝ์ , ์ญ์ ์ฐ์ฐ์ ์ํํ๋ค.
4.12 ํ-ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ์ ์์ฉ
์ปดํจํฐ ๋ถ์ผ์์ ํ์ ๋ ๊ฐ์ง ์๋ฏธ๋ก ์ฌ์ฉ๋๋ค. ํ๋๋ ์ด์ง ํธ๋ฆฌ์ ์ผ์ข ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๊ฐ ์ค์์ ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ ๊ฐ์ฅ ์์ ๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋๋ก ๊ตฌ์ฑ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋ค๋ฅธ ํ๋๋ ์ปดํจํฐ์์ ํ๋ก์ธ์ค๊ฐ ๋ง๋ค์ด์ก์ ๋, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ฒ ๋๋๋ฐ, ์ด๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๋ฐฉ๋ฒ์ด ์คํ๊ณผ ํ ๋๊ฐ์ง์ด๋ค.
4.13 ๊ทธ๋ํ ์๋ฃ๊ตฌ์กฐ
2๊ฐ ์ด์์ ํญ๋ชฉ์ด ์ด๋ค ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋์ง๋ฅผ ๋ ธ๋์ ์์ง (์ ์ ๊ณผ ์ )๋ฅผ ์ด์ฉํ์ฌ ํํํ๋ ๊ฒ์ ๊ทธ๋ํ๋ผ๊ณ ํ๋ค.
๊ทธ๋ํ ์ฉ์ด - ๊น์ด ์ฐ์ ํ์ DFS - ๋๋น ์ฐ์ ํ์ BFS - ์ ์ฅํธ๋ฆฌ - ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ
๊ทธ๋ํ ์ฌ์ฉ ๋ฐฉ๋ฒ - Prim ๋ฐฉ๋ฒ, Kruskal ๋ฐฉ๋ฒ
์ฌ์ฉํ๋ ๊ณณ ๋ํ์ ์ธ - PERT/CPM, ์ต๋จ ๊ฒฝ๋ก
4.14 ํ๋ก๊ทธ๋จ ์ธ์ด์์์ ์๋ฃ๊ตฌ์กฐ ์ง์
C์ธ์ด์์๋ ์๋ฐ ์ปฌ๋ ์ ์ STL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ผ๊ณ ํ๋ค.
8.1 ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ ๋ฐ ํ๊ธฐ๋ฐฉ๋ฒ
- ์๊ณ ๋ฆฌ์ฆ์ ์ฐ์ํจ ์๋ณ ๊ธฐ์ค : ์ ํ์ฑ, ์์ ๋, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋จ์์ฑ, ์ต์ ์ฑ
'๋์๋ฆฌ๋ทฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฑGPT ์ ์์ฑ ; ์ฑGPT์ ์ ๋ฌด์๋ํ] - ์ํค๋ถ์ค (1) | 2023.05.01 |
---|---|
[ํต๊ณ๋ก ํตํ๋ค 2023 ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ํ๊ธฐ] -์์ด๋ฆฌํฌ (4) | 2023.03.05 |
OS๊ฐ ๋ณด์ด๋ ๊ทธ๋ฆผ์ฑ - ์ฑ์๋น (1) | 2022.11.19 |
๋ฐ๋ก ์์ํ๋ ํ๋ธ๋ก_๋์์ถํ ๊ธธ๋ฒ (2) | 2022.09.29 |
[๊ทธ๋ฆผ์ผ๋ก ๊ณต๋ถํ๋ ์ค๋ผํด ๊ตฌ์กฐ] - ์ค๋ค ์ผ์ด์ง #1~2 (4) | 2022.08.27 |