此过程LCS-LENGTH以俩个序列X = 〈x1, x2, ..., xm〉 和 Y = 〈y1, y2, ..., yn〉为输入。
它把c[i,j]值填入一个按行计算表项的表c[0 m, 0 n] 中, 它还维护b[1 m, 1 n] 以简化最优解的构造。
从直觉上看,b[i, j] 指向一个表项,这个表项对应于与在计算 c[i, j]时所选择的最优子问题的解是相同的。
该程序返回表中 b and c , c[m, n] 包含X和Y的一个LCS的长度。
步骤四,构造一个LCS,
PRINT-LCS(b, X, i, j)
1 if i = 0 or j = 0
2 then return
3 if b[i, j] = " "
4 then PRINT-LCS(b, X, i - 1, j - 1)
5 print xi
6 elseif b[i, j] = "↑"
7 then PRINT-LCS(b, X, i - 1, j)
8 else PRINT-LCS(b, X, i, j -