最长公共子序列(LCS)(一)---动态规划
来源:互联网 发布:淘宝布局管理无法看 编辑:程序博客网 时间:2024/05/29 07:14
利用动态规划算法实现最长公共子序列:
#include <iostream>#include <string>#include <csetjmp>using namespace std;int max(int a, int b){ return a > b ? a : b;}int LCS(string& s1, string&s2){ int s1_len = s1.length(); int s2_len = s2.length(); int**p; p = new int*[s1_len+1]; for (int i = 0; i < s1_len+1; i++){ p[i] = new int[s2_len+1]; } for (int i = 0; i < s1_len+1; i++){ for (int j = 0; j < s2_len+1; j++){ if (i == 0 || j == 0){ p[i][j] = 0; } else{ if (s1.at(i - 1) == s2.at(j - 1)){ p[i][j] = p[i - 1][j - 1] + 1; } else{ p[i][j] = max(p[i - 1][j], p[i][j - 1]); } } } } int k = p[s1_len][s2_len]; for (int i = 0; i < s1_len; i++){ delete[] p[i]; } delete[] p; return k;}int main(){ string s = "ATGTCTATTCTGTC"; string s2 = "AGTCATCTGTC"; int z = LCS(s, s2); cout << z << endl; return 0;}
运行结果:
阅读全文
0 0
- 最长公共子序列(LCS)(一)---动态规划
- 动态规划之最长公共子序列(lcs)
- 动态规划之最长公共子序列(lcs)
- 动态规划经典问题---最长公共子序列(LCS)
- 动态规划——最长公共子序列(LCS)
- 最长公共子序列LCS(动态规划基础)
- 最长公共子序列LCS(动态规划)
- 动态规划——最长公共子序列(LCS)
- 动态规划求解最长公共子序列(LCS)
- 动态规划7:最长公共子序列(LCS)
- 动态规划之最长公共子序列(LCS)
- 动态规划之最长公共子序列(LCS)
- 动态规划入门之最长公共子序列(LCS)
- 最长公共子序列(LCS)-动态规划
- 使用动态规划求解最长公共子序列(LCS)
- 动态规划 最长公共子序列(LCS)问题
- 动态规划求解最长公共子序列(LCS)
- LCS问题(最长公共子序列)-动态规划实现
- apriori推荐算法
- SpringCloud(第 013 篇)电影微服务使用定制化 Feign 在客户端进行负载均衡调度并为 Feign 配置帐号密码登录认证 Eureka
- Connect to Sqlite and do insert, delete, update and select
- inotify
- java jdk安装参考
- 最长公共子序列(LCS)(一)---动态规划
- Android 多线程之HandlerThread 完全详解
- 一、设计模式之单例模式
- 剑指Offer--19.顺时针打印矩阵
- [刷题]2017 ACM Qingdao Online
- JS转换HTML转义符
- 一站式应用实时互动功能的音视频解决方案
- 机器学习学习笔记.day9
- 四则运算在计算机中的实现原理