โป ๊ท์ฐฎ์๋ ์ง์ ์์ผ๋ก ์ฐ๊ณ ๊ทธ๋ฆฌ๋ฉฐ ์๊ฐํด์ผ ์ดํด๊ฐ ๋น ๋ฅด๋ค Example 1 : Knapsack (๋ฐฐ๋ญ ๋ฌธ์ ) Dynamic Programming ๋ฌด๊ฒ์ ๊ฐ์น๊ฐ ์ ํด์ง N๊ฐ์ ๋ฌผ๊ฑด์ด ์์๋, ๊ฐ์น์ ์ดํฉ์ด max๊ฐ ๋๋๋ก ๋ฐฐ๋ญ์ ์ธ๋ ๋ฌธ์ . ์ด๋, ๋ฐฐ๋ญ์ ๋ฌด๊ฒ ์ ํ์ K์ด๋ค. (๊ฐ ๋ฌผ๊ฑด์ 1๊ฐ์ฉ๋ง ์กด์ฌํ๋ฉฐ, ๋ฐฐ๋ญ์ ๋ฃ๊ฑฐ๋/์๋ฃ๊ฑฐ๋) ๋์ ๊ตํ๋ฌธ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก Greedyํ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐ๋์ง์์. ex) V[N] = {13,8,6,12} W[N] = {6,4,3,5} D[i][j] = i๋ฒ์งธ ๋ฌผ๊ฑด๊น์ง ๋ฃ์์ง/์๋ฃ์์ง ์ ํ์๋, ๋ฌด๊ฒ j์ดํ๋ฅผ ์ฑ์ฐ๋ ๊ฐ์น์ ํฉ์ค ์ต๋๊ฐ => ์ ํ์ : D[i][j] = Max(D[i-1][j], D[i-1][j-W[i]]+V[i]) Max์์ ๋น๊ตํ๋ ๋ ๊ฐ์ค, ์ ์๋ ์ด์ ..
Dynamic Programming (๋์ ๊ณํ๋ฒ) ๋ณต์กํ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ๊ฐ์ ์์๋ถ๋ถ๋ฌธ์ (sub-problem)์ผ๋ก ๋๋์ด ํด๊ฒฐํ๋ ๊ธฐ๋ฒ. ์ด๋ฏธ ๊ณ์ฐ๋ ๋ถ๋ถ ๋ฌธ์ ๊ฐ ๋ค์ ๋ฐ์ํ๋ฉด, ์๋กญ๊ฒ ๊ณ์ฐํ์ง์๊ณ ์ด์ ์ ๊ณ์ฐ๊ฐ์ ์ฐธ์กฐํด ์ด์ฉํ ์ ์๋ค. DP๋ฅผ ํตํด ๋ถ๋ถ๋ฌธ์ ๋ฅผ ๋ค์ ํด๊ฒฐํ๋ ์๊ฐ์ ์ ์ฝํ ์ ์์ง๋ง, ์ด์ ๊ณ์ฐ๊ฐ์ ์ ์ฅํ ๊ณต๊ฐ์ด ํ์ํ๋ฏ๋ก Time - Space๊ฐ์ trade off๋ผ๊ณ ํ ์ ์๋ค. ex. ํผ๋ณด๋์น ๋จ์ํ์์ผ๋ก ๊ตฌํ์, ์์ ๊ฐ์ด ์ฌ๋ฌ๋ฒ ๊ณ์ฐ๋๋ค. => Memorization : ํ๋ฒ ๊ณ์ฐ๋ ๊ฐ์ ๊ธฐ๋กํด๋๊ณ ์ดํ ์ค๋ณตํธ์ถ ๋์์๋ ์๋กญ๊ฒ ๊ณ์ฐํ๋๊ฒ ์๋ ์ ์ฅํด๋๊ฐ์ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ค. fibonacci_topdown Top-Down / Bottom-Up Top-down ๋ฐฉ์์ ํฐ ๋ฌธ์ ์์..
- Total
- Today
- Yesterday
- ํ๋ก๊ทธ๋๋จธ์ค
- Stack
- Android
- ๊ฐ๋ฐ์
- brute-force
- ์นํดํน
- git
- bfs
- Android Studio
- Data Structure
- JPA
- ํด์ธ์ฌํ
- C
- sort
- socket
- graph
- Java
- OneToMany
- webhacking.kr
- javascript
- Algorithm
- ์ฐ์ํ ํ ํฌ์ฝ์ค
- dfs
- Vo
- ํ๊ณ
- ๋ฆฌ๋ฒ์ฑ
- reversing
- mysql
- queue
- FRAGMENT
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |