GATE | GATE-CS-2009 | Question 54
Consider the data given in the previous question. The values of l(i, j) could be obtained by dynamic programming based on the correct recursive definition of l(i, j) of the form given above, using an array L[M, N], where M = m+1 and N =n+1, such that L[i, j] = l(i, j).
Which one of the following statements would be TRUE regarding the dynamic programming solution for the recursive definition of l(i, j)?
(A) All elements L should be initialized to 0 for the values of l(i,j) to be properly computed
(B) The values of l(i,j) may be computed in a row major order or column major order of L(M,N)
(C) The values of l(i,j) cannot be computed in either row major order or column major order of L(M,N)
(D) L[p,q] needs to be computed before L[r,s] if either p < r or q < s.
Explanation: The value can be computed either in row major or column major order, see https://www.geeksforgeeks.org/dynamic-programming-set-4-longest-common-subsequence/.
We can swap the two loops without effecting the output.
Quiz of this Question