Consider a table , where the elements , , represent the cost of the optimal solutions of different subproblems of a problem that is being solved using a dynamic programming algorithm. The recursive formulation to compute the table entries is as follows:
Consider the following two algorithms to compute entries of . Assume that for both the algorithms, for all , has been initialized to 1.
Algorithm :
For i = 1, 2, ..., n
For j = 1, 2, ..., n
T[i][j] = 2T[i-1][j] + 3T[i][j-1]Algorithm :
For s = 2, 3, ..., 2n
For i = 1, 2, ..., n
For j = 1, 2, ..., n
If (i + j == s)
T[i][j] = 2T[i-1][j] + 3T[i][j-1]Algorithm , is said to be correct if and only if it calculates the correct values of , for all , (as per the recursive formulation) at the end of the execution of the algorithm .
Which one of the following statements is true?
- (A)
Both algorithms and are correct
- (B)
Algorithm is correct, but algorithm is incorrect
- (C)
Algorithm is correct, but algorithm is incorrect
- (D)
Both algorithms and are incorrect
