位置: 首页 >> 资讯 > > 正文

当前快播:动态规划法求解最长公共子序列问题_求最长公共子序列_动态规划

2023-03-22 10:48:45 来源:元宇宙网


【资料图】

有关动态规划法求解最长公共子序列问题_求最长公共子序列_动态规划这方面的知识,估计很多人不是太了解,今天就给大家详细的介绍一下关于动态规划法求解最长公共子序列问题_求最长公共子序列_动态规划的相关内容。

1、// 求LCS的长度class LCS{public: LCS(int nx, int ny, char *x, char*y); //创建二维数组c、s和一维数组a、b。

2、并进行初始化 void LCSLength(); //求最优解值(最长公共子序列长度) void CLCS(); //构造最优解(最长公共子序列) ……private: void CLCS(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=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<

本文到此分享完毕,希望对大家有所帮助。

标签:

上一篇:
下一篇: