摘要
本篇博文提供了实现求解所有最长公共子序列的程序实现,并提供输出所有公共子序列的方法解释,需要具备基础知识是求解一个公共子序列的动态规划方法,请自行查阅相关资料。
题目重述
子序列概念:设X=< x1, x2,┅, xm>,若有1≤i1< i2< ┅ <ik≤m,使得Z=< z1, z2,┅, zk> = < xi1, xi2,┅, xik>,则称Z是X的子序列,记为Z<X。
例如: X=<A,B,C,B,D,A,B>, Z=<B,C,B,A>, 则有Z<X。
公共子序列概念:设X,Y是两个序列,则有Z<X和Z<Y,则称Z是X和Y的公共子序列。
最长公共子序列:若Z<X,Z<Y,且不存在比Z更长的X和Y的公共子序列,则称Z是X和Y的最长公共子序列,记为