算法 最长公共子序列
更新时间:2023-06-11 22:22:01 阅读量: 实用文档 文档下载
- 算法推荐度:
- 相关推荐
算法 最长公共子序列
最长公共子序列
1题目分析
两个序列的最长公共子序列的长度为最优值,利用动态规划法
2算法构造
引入二维数组C[i,j]记录Xi = < xl,x2 , … , xi>和Yj =二< y1 ;y2 , ,…, yj > 根据子问题最优值的递归关系,可自底向上建立递推关系如下:
当 i = 0 , j = 0 时 , c[i][j] = 0
当 i , j > 0 ; xi = yi 时 , c[i][j] = c[i-1][j-1] + 1
当 i , j > 0 ; xi != yi 时 , c[i][j] = max { c[i][j-1] , c[i-1][j] }
3算法实现
#include <iostream>
#include <string>
using namespace std;
//计算最优值
void LCSLength(int m,int n,char *y,char *x,int **c,int **b)
{
int i,j;
for(i=1;i<=m;i++)c[i][0]=0;
for(j=0;j<=n;j++)c[0][j]=0;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
if(x[i]==y[j]){c[i][j]=c[i-1][j-1]+1;b[i][j]=1;}
else if(c[i-1][j]>=c[i][j-1]){c[i][j]=c[i-1][j];b[i][j]=2;}
else {c[i][j]=c[i][j-1];b[i][j]=3;}
}
}
//构造最长公共子序列
void LCS(int i,int j,char *x,int**b)
{
if(i==0||j==0)return;
if(b[i][j]==1){LCS(i-1,j-1,x,b);cout<<x[i];}
else if(b[i][j]==2)LCS(i-1,j,x,b);
else LCS(i,j-1,x,b);
}
//主函数
int main()
{
算法 最长公共子序列
int m,n;
char *x,*y;
int **b,**c;
void LCSLength(int m,int n,char *y,char *x,int **c,int **b); void LCS(int i,int j,char *x,int**b);
cout<<"请输入两个序列的长度:"<<endl;
cin>>m>>n;
x=new char[m];
y=new char[n];
cout<<"请输入两个序列:"<<endl;
cin>>x>>y;
b=new int *[m + 1];
for (int i=0;i<=m;i++)
b[i]=new int[n + 1];
c=new int *[m + 1];
for (int j=0;j<=m;j++)
c[j]=new int[n + 1];
LCSLength(m,n,x,y,c,b);
cout<<"最长公共子序列的元素个数为"<<c[m][n]<<endl;
cout<<"该序列为:";
LCS(m,n,x,b);
cout<<endl;
return 0;
}
4运行结果
请输入两个序列的长度:
5
5
请输入两个序列:
dfdhh
dfdgh
最长公共子序列的元素个数为4
该序列为:dfdh
Press any key to continue
正在阅读:
算法 最长公共子序列06-11
包 头 市06-22
善良也是一种财富10-08
论题.感受改革开放新成就——“我看家乡变化大”, 撰写报告03-23
大学生焦虑水平与学业成绩关系的研究03-20
2020年初级会计实务考试 第40讲 收入的确认和计量04-25
2017-2022年中国渔业市场调查与行业竞争对手分析报告(目录)08-05
2017春高中化学第2章烃和卤代烃第3节卤代烃课后素养演练新人教版03-13
电工题库带答案(1)11-04
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 序列
- 算法
- 最长
- 公共
- 国家基本药物处方集
- 企业员工管理系统
- 建设项目全过程投资管理顾问招标文件
- 新学期计划书通用范本
- 徽商兴衰对我国现代企业管理的借鉴意义
- 物理教研组工作小结3篇
- 高级财务会计(精编小抄)期末总复习
- 积石山县保障性住房建设工作汇报材料
- 05茁霉多糖发酵工艺条件研究
- 佛山陶瓷转型升级
- 专业英语四级资料--含专四听写高频词汇、高频词组、新闻听力重点词汇
- 高二地理期中模块检测
- 网点录入信息系统进销存台账快速入门手册
- 获致法律上妥当的裁判——对法益衡量思维与方法的全面检视
- 中国杏仁露市场调研报告
- 电子商务物流 第五章 第三方物流5
- 航空运营人使用地空数据通信系统的标准与指南
- 新版PEP三年级英语(上)期末测试卷
- 2015-2020年中国太阳能光伏设备市场研究与发展前景预测报告
- 二、社会历史的主体——人民群众