โป ๊ท์ฐฎ์๋ ์ง์ ์์ผ๋ก ์ฐ๊ณ ๊ทธ๋ฆฌ๋ฉฐ ์๊ฐํด์ผ ์ดํด๊ฐ ๋น ๋ฅด๋ค 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
- ํ๋ก๊ทธ๋๋จธ์ค
- Java
- C
- sort
- dfs
- ๊ฐ๋ฐ์
- socket
- JPA
- FRAGMENT
- Data Structure
- reversing
- brute-force
- ํด์ธ์ฌํ
- bfs
- git
- javascript
- webhacking.kr
- Android
- graph
- ์นํดํน
- ์ฐ์ํ ํ ํฌ์ฝ์ค
- mysql
- Algorithm
- Vo
- OneToMany
- ํ๊ณ
- Android Studio
- queue
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |