版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、a,1,3.3 最长公共子序列,定义:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。 找出A, B, C, D的所有子序列 思考:有n个元素的序列至多有多少个子序列?,2n(包括空) 说“至多”是因为子序列可能相等(但具有不同下标序列),a,2,公共子序列,定义:如果序列Z既是序列X的子序列又是序列Y的子序列,则称Z是X和Y的公共子序列。 找出X = (A, B, C, D, A, B), Y = (B, D, C, A, B, A)的所有公共子序列。,a,3,最长公共子序列,找出X和Y的最长公共子序列。 对于任意给定的X和Y,它们的最长公共子序列唯一吗?举例说明。,不一定。如A,
2、 B与B, A 本节的问题是只找出一个最长公共子序列。,a,4,最长公共子序列的结构,设序列X=x1, x2, , xm, Y=y1, y2, , yn, Z=z1, z2, , zk,则 (1) 若xm = yn, 则Zk - 1 是Xm 1和Yn 1的最长公共子序列; 如:X = , C, Y = , C, 则Z = , C,a,5,最长公共子序列的结构(续),(2)若xm yn, 且zk xm,则Z是Xm 1和Y的最长公共子序列; 如:X = , C, Y = , B, zk C, 则在计算最长公共子序列时,可不考虑X的最后一个元素C,a,6,最长公共子序列的结构(续),(3)若xm y
3、n, 且zk yn,则Z是X和Yn 1的最长公共子序列 如:X = , C, Y = , B, zk B, 则在计算最长公共子序列时,可不考虑Y的最后一个元素B,a,7,最长公共子序列的结构(续),两个序列的最长公共子序列包含了这两个序列的前缀的最长公共子序列,因此,最长公共子序列问题具有最优子结构性质。,a,8,讨论,可否根据序列的第1个元素来重述本问题?这样做有什么优缺点?,可以。这样做不利于描述,如前面Xm1可以方便地表示X前m 1 个元素,改后就比较麻烦。从递归的角度来看,一般也是从后面增减元素。,a,9,当xm = yn时,有一个子问题,即 :找出Xm 1和Yn 1的最长公共子序列
4、当xm yn时,有两个子问题,即 (1)找出Xm 1和Y的最长公共子序列, (2)找出X和Yn 1的最长公共子序列。而这两个子问题都包含了同一个子问题(Xm 1, Yn1) 。 因此,本问题满足子问题重叠性质。,问题分析,a,10,令cij记录Xi和Yj的最长公共子序列的长度,则有 0 i = 0, j = 0 cij = ci - 1j - 1 + 1 xi = yj maxcij - 1 , ci - 1j xi yj,问题分析(续),a,11,显然不应以递归方式(自顶向下,即先考虑最后一个字符)设计算法,而应设计动态规划算法,即从第一个字符开始考虑。,问题分析(续),a,12,计算最优值程序跟踪,X = A C B D Y = A B D A,c b,a,13,补充习题,1. X=B, C, A, D Y=C, A, B, D,求X与Y的最长公共子序列,并画出数组c与b. c b,i: j:,a,14,补充习题(答案),1. X=B, C, A, D Y=C, A, B, D,求X与Y的最长公共子序列,并画出数组c与b. c b,i: 1 2 3 j: 1 2 3 4 1 2 3 4 1 2 3 4,a,15,讨论,结构化与面向对象程序设计的联系与区别?,面向对象的局部来看是结构化的。 结构化的基本思想是“自顶向下,逐步求精”,面向对象的基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 膨胀烟丝设备操作工岗前岗后考核试卷含答案
- 2025年下半年教师资格证幼儿综合素质笔试真题及答案解析
- 2025年通信专业技术人员职业资格考试试题及答案
- 2025年计算机二级考试题库wps操作题及答案
- 2025年教师资格小学教育教学知识与能力真题及答案解析
- 2025年河南省郑州市工会人员招聘考试试题及答案详解
- 2026年秋季开学高三自律打卡主题班会课件
- 2020年安徽省中考数学真题及答案解析
- 2025河南特岗教师考试真题及答案
- 2025年06月中国电子学会青少年软件编程(Python)等级考试试卷(四级)答案
- 2026年出纳实操岗位技能考核试题库(附答案)
- 2026年新疆医科大学第八附属医院招聘编制外工作人员补充(29人)笔试参考题库及答案详解
- 2026秋季新学期第一次行政班子会议上校长讲话:沟通有温度、做事有力度、反馈有准度
- 2026年中考化学(安徽卷)真题详细解读及评析
- 2026年秋期人教版部编版小学数学四年级上册全册教学计划教案
- (2026秋新版)北师大版六年级数学上册全册教案
- 2026人教版五年级数学上册第一单元第1课《观察简单组合体(1)》教案
- 全国2026年10月自学考试行政管理学试题和答案
- 2026年河北省张家口市辅警招聘考试题(含答案)
- 2026中国医疗器械CDMO行业订单结构变化与利润率走势
- 2026年四川省成都市中考数学真题含答案
评论
0/150
提交评论