文章插图
大家好,小跳来为大家解答以上的问题 。最长公共子序列问题 , 最长公共子序列这个很多人还不知道,现在让我们一起来看看吧!
1、// 求LCS的长度class LCS{public: LCS(int nx, int ny, char *x, char*y); //创建二维数组c、s和一维数组a、b 。
2、并进行初始化 void LCSLength();//求最优解值(最长公共子序列长度) void CLCS();//构造最优解(最长公共子序列) ……private: voidCLCS(int i, int j); int **c, **s.m, n; char *a, *b;};int LCS::LCSLength() {for(int i=1; i<=m; i++) c[i][0]=0;for(i=1; i<=n; i++) c[0][i]=0; for (i=1; i<=m; i++)for (int j=1; j<=n; j++)if (x[i]==y[j]){c[i][j]=c[i-1][j-1]+1; s[i][j]=1; //由c[i-1][j-1]计算c[i][j]}else if (c[i-1][j]>=c[i][j-1]){c[i][j]=c[i-1][j]; s[i][j]=2; //由c[i-1][j]得到c[i][j]}else {c[i][j]=c[i][j-1]; s[i][j]=3; //由c[i][j-1]得到c[i][j]} return c[m][n];//返回最优解值} //构造最长公共子序列void LCS::CLCS(int i, int j){ if (i==0||j==0) return; if (s[i][j]==1){CLCS(i-1, j-1);cout<【最长公共子序列 最长公共子序列问题】本文到此分享完毕 , 希望对大家有所帮助 。
- 金钱树叶子有黄斑怎么回事
- 子宫在什么位置
- 孔子有关道德的名言有哪些
- 让女朋友一辈子难忘的礼物 女生能记一辈子的礼物
- 岂曰无衣 与子同袍 王于兴师 修我戈矛 与子同仇 什么意思 _360 岂曰无衣 与子同袍 王于兴师 修我戈矛
- 如何提高自制力 如何提高孩子的自制力
- 朴尔因子黑金面膜好用吗
- 被毒蚊子咬了怎么消肿大蒜
- 一年级对子歌 一年级对子歌半对什么
- 钩拖鞋鞋底子怎么弄