動態(tài)規(guī)劃--最長公共子序列

問題:任意輸入兩個字符串,求這兩個字符串之間的最長子序列(LCS)。。。。

在解題之前,需要理解幾個定理:
X=<x1,x2,x3...xn>,Y=<y1,y2,y3...ym>
X,Y的1最長子串表示為: LCSxy

假設(shè) Z=<z1,z2,z3...zk>是X,Y的任意子串,
那么:
1,當(dāng)xn=ym時,zk=xn=ym, LCSxy=LCS(x-1)(y-1) + 1
2,當(dāng)xn!=ym時, zk!=xn LCSxy=LCS(x-1)y
zk!=ym LCSxy=LCSx(y-1)

python實現(xiàn):

20150827201234.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容