문제
- 도둑이 배낭에 넣을 수 있는 최대 보석 무게
fractional knapsack problem
- 그리디 알고리즘
- value per pound(v/w) 순으로 정렬
0-1 Knapsack problem
- brute force
- 모든 경우를 계산하여 가장 큰 경우
- time complexity: O(2^n)
- 그리디
- 해당 문제 해결 불가
DP
-
B[k,W]: Sk까지의 최대
![](https://velog.velcdn.com/images/amazon8/post/6c044ca6-25c6-4168-a4d0-a6b7e75a19a5/image.png)
-
코드
Time complexity: O(n*W)
![](https://velog.velcdn.com/images/amazon8/post/bdae7fc3-2261-430e-931b-90acf7bb1cc6/image.png)
Branch and Bound
- node
![](https://velog.velcdn.com/images/amazon8/post/4f53f43d-ded6-45d2-8181-9e43e9cbd72d/image.png)
![](https://velog.velcdn.com/images/amazon8/post/b2c6ceda-771e-43c0-9cac-0139ed384404/image.png)
- bound
![](https://velog.velcdn.com/images/amazon8/post/27544bd2-dd84-4f5b-bae4-3775ce81182f/image.png)
- promising & non-promising
![](https://velog.velcdn.com/images/amazon8/post/4b9d9613-30b1-45ed-8093-bcf384430bdd/image.png)
진행 상황
![](https://velog.velcdn.com/images/amazon8/post/92e4b674-46eb-40d6-98ba-171ae3d64dcc/image.png)