- 11์ฅ์์๋ ์ฌ๊ท์ ์ผ๋ก ์์ฑํ๋ ๋ฒ๊ณผ ์ฌ๊ท๋ก ๋ณด๋ค ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฒ์ ๋ฐฐ์ ๋ค.
- ๊ทธ๋ฌ๋ ์ฌ๊ท๋ก ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์๋ ์์ด๋ ์ ๋๋ก ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ๋ ํ๋ค.
- ์ฌ๊ท๋ฅผ ์๋ชป ์ฌ์ฉํ ๊ฒฝ์ฐ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๊ฐ O(2^N)๊ณผ ๊ฐ์ ๊ฐ์ฅ ๋๋ฆฐ ๋น ์ค ์นดํ ๊ณ ๋ฆฌ์ ์ํ๊ฒ ๋ ์ ์๋ค.
- 12์ฅ์์๋ ์ฌ๊ท์ ์๋๋ฅผ ๋๋ฆฌ๊ฒ ๋ง๋๋ ๊ฐ์ฅ ํํ ๊ฑธ๋ฆผ๋์ ์ฐพ๊ณ ๊ทธ๋ฌํ ์๊ณ ๋ฆฌ์ฆ์ ๋น ์ค ๊ด์ ์์ ์ด๋ป๊ฒ ๋ํ๋ด๋์ง, ์ด๋ป๊ฒ ๊ฐ์ ํ๋์ง๋ฅผ ๋ฐฐ์ด๋ค.
1. ๋ถํ์ํ ์ฌ๊ท ํธ์ถ
- ๋์ผํ ํ์ ๋ฌธ์ ์ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ฌ๋ฌ ๋ฒ ํธ์ถํ๋๋ฐ, ๋์ผํ ์ธ์๋ฅผ ๋ฃ์์ ๋ ํญ์ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๋
2. ๋น ์ค๋ฅผ ์ํ ์์ ๊ฐ์
- ์ด๋ฌํ ์ถ๊ฐ์ ์ธ ์ฌ๊ท ํธ์ถ์ ์ ๋ถ ์์จ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค.
- ์ฝ๋์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์์ ์ ์ฅํ๋ฉด ๋๋ค.
- ๋น๊ฒฐ์ ํ์ํ ํจ์ ํธ์ถ์ ํ ๋ฒ๋ง ์ํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์์ ์ ์ฅํจ์ผ๋ก์จ ํจ์๋ฅผ ๋ค์ ํธ์ถํ์ง ์์๋ ๋๊ฒ ํ๋ ๊ฒ์ด๋ค.
3. ์ฌ๊ท์ ํจ์จ์ฑ
- ๋น ์ค๋ ๋ฐ์ดํฐ ์์๊ฐ N๊ฐ์ผ ๋ ์ผ๋ง๋ ๋ง์ ๋จ๊ณ ์๊ฐ ํ์ํ๊ฐ๋ผ๋ ํต์ฌ ์ง๋ฌธ์ ๋ํ ๋ต์ด์๋ค.
- ๋ถํ์ํ ์ฌ๊ท ํธ์ถ์ ํผํ๋ ๊ฒ์ด ์ฌ๊ท๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋๋ ํต์ฌ ๋น๊ฒฐ์ด๋ค.
- ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์์ ์ ์ฅํ๋ ๋ถ๋ถ์ด ์ธ๋ป ๋ด์๋ ์ฝ๋์์ ์์ฃผ ์ฌ์ํ ๋ณํ๋๋ผ๋ ๊ถ๊ทน์ ์ผ๋ก ํจ์ ์๋๋ฅผ O(2^N)์์ O(N)์ผ๋ก ๋ณํ์ํจ๋ค.
4. ํ์ ๋ฌธ์ ์ค์ฒฉ
- ํผ๋ณด๋์น ์์ด
- ํ์ ๋ฌธ์ : ๋์ผํ ๋ฌธ์ ๋ฅผ ์๊ฒ ๋ง๋ค์ด ํด๊ฒฐํ ๋, “์์ ๋ฌธ์ ”๋ฅผ ํ์ ๋ฌธ์ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ํ์ ๋ฌธ์ ๊ฐ ์ค์ฒฉ๋๋ ์ด์ ๋ fib(n - 2)์ fib(n - 1)์ด ๊ฒฐ๊ณผ์ ์ผ๋ก ๋์ผํ ํจ์๋ฅผ ์ฌ๋ฌ๋ฒ ์ค๋ณตํด์ ํธ์ถํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ๊ฒฐ๊ตญ ์๊ณ ๋ฆฌ์ฆ์ O(2^N)์ ์๋๋ก ๋งค์ฐ ๋๋ฆฌ๊ฒ ํธ์ถ๋๋ค.
5. ๋ฉ๋ชจ์ด์ ์ด์ ์ ํตํ ๋์ ํ๋ก๊ทธ๋๋ฐ
- ๋์ ํ๋ก๊ทธ๋๋ฐ(dynamic programming)์ ํ์ ๋ฌธ์ ๊ฐ ์ค์ฒฉ๋๋ ์ฌ๊ท ๋ฌธ์ ๋ฅผ ์ต์ ํํ๋ ์ ์ฐจ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ง ๊ธฐ๋ฒ์ด ์๋ค.
- ๋ฉ๋ชจ์ด์ ์ด์
(memoization)
- ๋จผ์ ๊ณ์ฐํ ํจ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ตํด ์ฌ๊ท ํธ์ถ์ ๊ฐ์์ํจ๋ค.
- ์ํฅ์์ ํตํ ๋์ ํ๋ก๊ทธ๋๋ฐ
6. ์ํฅ์์ ํตํ ๋์ ํ๋ก๊ทธ๋๋ฐ
- ์ด ๊ธฐ๋ฒ์ ํจ์ฌ ๋ ์ธ๋ จ๋๊ณ ์ฌ์ง์ด ๊ธฐ๋ฒ์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ์ ๋งคํ๋ค.
- ์ํฅ์์ด ๋์ ํ๋ก๊ทธ๋๋ฐ์ ํ๋๋ก ๊ฐ์ฃผ๋๋ ์ด์ ๋ ๋์ ํ๋ก๊ทธ๋๋ฐ์ด ์ฌ๊ท์ ์ผ๋ก ํ ์ ์๋ ๋ฌธ์ ์ ๋ํด ์ค์ฒฉ๋๋ ํ์ ๋ฌธ์ ๋ฅผ ์ค๋ณต ํธ์ถํ์ง ์๊ฒ ํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ฌ๊ท ๋์ ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ ์ด๋ ๊ฒ ํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ค.
6.2 ๋ฉ๋ชจ์ด์ ์ด์ ๋ ์ํฅ์
- ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ฐ๋๋ผ๋ ์ฌ๊ท๊ฐ ๋ฐ๋ณต์ ๋นํด ์ค๋ฒํค๋๊ฐ ๋ ๋ ๋ค๋ ์ฌ์ค์ ๊ฐ๊ณผํด์๋ ์ ๋๋ค.
- ๊ตฌ์ฒด์ ์ผ๋ก ๋งํ๋ฉด, ์ฌ๊ท๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ ์ปดํจํฐ๋ ํธ์ถ ์คํ์ ๋ชจ๋ ํธ์ถ์ ๊ธฐ๋กํด์ผ ํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ชจํ๋ค.
- ๋ฉ๋ชจ์ด์ ์ด์ ์์ฒด๋ ํด์ ํ ์ด๋ธ(ํน์ ๋ฐฐ์ด)์ ์ฌ์ฉํ๋ฏ๋ก ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ถ๊ฐ๋ก ์๋ชจํ๋ค.
- ์ฌ๊ท๊ฐ ๋งค์ฐ ์ง๊ด์ ์ด์ง ์์ ์ด์ ์ผ๋ฐ์ ์ผ๋ก ์ํฅ์์ ํํ๋ ํธ์ด ๋ ๋ซ๋ค.
- ์ฌ๊ท๊ฐ ๋ ์ง๊ด์ ์ด๋ฉด ์ฌ๊ท๋ฅผ ์ฌ์ฉํ๋ ๋ฉ๋ชจ์ด์ ์ด์ ์ผ๋ก ๋น ๋ฅด๊ฒ ๋ง๋ค์ด์ผ ํ๋ค.
'๐๏ธ ์ฑ & ๊ฐ์ ์ ๋ฆฌ > ๐๏ธ ๋๊ตฌ๋ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
14์ฅ ๋ ธ๋ ๊ธฐ๋ฐ ์๋ฃ๊ตฌ์กฐ (1) | 2022.12.09 |
---|---|
13์ฅ ์๋๋ฅผ ๋์ด๋ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.08 |
11์ฅ ์ฌ๊ท์ ์ผ๋ก ์์ฑํ๋ ๋ฒ (0) | 2022.12.07 |
10์ฅ ์ฌ๊ท๋ฅผ ์ฌ์ฉํ ์ฌ๊ท์ ๋ฐ๋ณต (0) | 2022.12.05 |
9์ฅ ์คํ๊ณผ ํ๋ก ๊ฐ๊ฒฐํ ์ฝ๋ ์์ฑ (0) | 2022.11.18 |