1) Binomial Coefficient - # of combinations of "n choose k" where order does not matter (# of sets of size k)

=

To apply dynamic programming we want to view the calculation recursively. Suppose we had a bin containing four marbles with the letters A, B, C, D, and E painted on them. The "5 choose 3" could be viewed as the sets with marble A and the sets without marble A.

a) List the sets with marble A

b) List the sets without marble A

c) Write the recursive definition for the binomial coefficient

=

2) To utilize dynamic programming with the binomial-coefficient problem we need to store answers to smaller size problems in an array. How many dimensions should the array be (1, 2, 3, etc.)?

3) Which part of the array will correspond to the base cases?

4) For the binomial-coefficient problem where n = 7 and k = 4, what part of the array will be needed in the calculation of the ultimate result?

5) Can the dimensionality of the array be reduced? (Justify your answer)

6) What would be the memoization algorithm for binomial coefficient look like?