{ "q1": { "type": "multiple", "question": "\n\n\nRegarding dynamic programming, which of the following statements is true\n(select all that apply?)\n\n\n", "responses": { "count": "Dynamic programming can be used to calculate the total number of possible solutions.", "optimal": "Dynamic programming is useful in finding an optimal solution.", "technique": "Dynamic programming combines the correctness of complete search and the efficiency of greedy algorithms.", "memoization": "Dynamic programming utilizes memoization.", "overlapping": "Dynamic programming is utilized when the problem can be divided into independent overlapping subproblems." } }, "q3": { "type": "blank", "question": "\n\nImplement a solution to the coins problem (denominations 1, 3, 4) using\ndynamic programming and determine what is the minimum number of coins\nnecessary to form the following sums:\n\n\n\n
`\n1. 17 = ____\n2. 33 = ____\n3. 64 = ____\n4. 71 = ____\n5. 99 = ____\n`
\n" }, "q2": { "type": "blank", "question": "\n\nMemoization is a technique that ____ values in a container such as an ____\nafter ____ them. For each parameter in a ____ function, the value of the\nfunction is calculated ____, and after this, the value can be directly\nretrieved from the container.\n\n\n" } }