What is the difference between divide-and-conquer, dynamic programming and memory function algorithms? Describe their differences in detail (6pt).
2. 0-1 Knapsack Problem: Assume the weight and the value of 5 items are given below. The maximum capacity of the knapsack Wmax = 6.
Item weight Value
1 3 $25
2 2 $20
3 1 $15
4 4 $40
5 5 $50
a) Using the standard dynamic programming algorithm, compute the maximum profit by showing detailed steps (4pt).
b) Identify the items that are selected to produce the maximum profit in (a) (2pt).
c) Using the refined dynamic programming algorithm, compute the maximum profit by showing detailed steps (4pt).
d) Identify the items that are selected to produce the maximum profit in (c) (2pt).
e) When we compare the time complexity of standard dynamic programming and refined dynamic programming algorithms, which one is more efficient? Explain your reason (2pt).
Title_with_topic:
Algorithm problem: Divide-and-conquer, dynamic programming, and memory function algorithms. 0-1 Knapsack Problem and Time Complexity Comparison.