网站大量收购闲置独家精品文档,联系QQ:2885784924

2最长公共子序列.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2最长公共子序列

最长公共子序列 子串比较与概率算法 两个一维事物比较: 相似 : LCS算法 比较 完全相等: 一一对应,概率算法 等 相等 部分相等 :模式匹配----KMP算法 最长公共子序列: 应用:打字比赛(规则,中外区别) SARS病毒 文件比较等等 两个一维事物的比较 定义:与子串的区别 算法:穷举法,动态规划法 代码实现:用C 穷举法: 若要求两个序列X,Y的最长公共子序列, 先取得X,Y的所有子序列,并进行一一 比较,共有如下不同的组合: 共要进行不同的比较:2 m+n 举例:填充表格 从表中找出最长公共子序列的方法: (1)从(m,n) 到 (0,0) (2)若当前格与左边一格相同,则画“ ”; 若当前格与上边一格相同,则画“ ”; 上两者都不符合,从当前格到左上格画“ ” (3)从当前格向箭头方向前进一格,对此格进行(2) (4)从(m,n) 到 (0,0)的不同路径中,“ ”相对应的格的元素构成最长公共子序列。 找出最长公共子序列 求最长公共子序列 void LCS(char a[],int L[][],int m,int n) { /* 求最长公共子序列 */ int i,j,k; char c[m]; i=m;j=n;k=m; do { if(L[i][j]==L[i-1][j]) i--; else if(L[i][j]==L[i]j-1]) j--; else { c[k]=a[ii]; k--;i--;j--;} }while(i0j0); printf(“%s”,c+k+1); } 时间复杂度为:m+n=O(n) 子串比较: G等搜索工具的目的是从信息海洋中进行串匹配查找。 最著名的子串匹配算法是KMP算法。 KMP算法利用关键词内部的相似特点,节省了时间复杂度:O(m+n) 概率算法: 我们重点学习概率算法,概率算法是非确定性算法,即每一步是随机的。 经典问题1:生日问题 有多少人在一起使得其中至少有两个人生日相同的机会超过没有人生日相同的机会。即有相同生日的机会概率超过1/2. 经典问题2:圆周率的计算 祖冲之等,国外有投针法。 素数的概率判定算法 判定所给自然数n是否是素数? 意义:密码学,计算机测试等 素数特点:分布稀疏 10 4 共有1229个。 10 8 共有5761455个。 设?(x)为小于或等于x的全部素数个数,则 即: ?(x) ~ x/ln x 定理(Wilson): (Wilson): n是素数的充要条件是: (n-1)!? -1 mod n 若p素数,则对于任意的整数a ,p a,应有 a p-1 ? 1 mod p Miller测试 若n是素数,b是正整数,且n b ,则n必然通过以 b 基的 Miller测试。 * * 若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。而子串则要求左右两元素在母串中为相邻。 给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。 给定2个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列。 最长公共子序列的定义: 最长公共子序列的结构 设序列X={x1,x2,…,xm}和Y={y1,y2,…,yn}的最长公共子序列为Z={z1,z2,…,zk} ,则 (1)若xm=yn,则zk=xm=yn,且zk-1是xm-1和yn-1的最长公共子序列。 (2)若xm≠yn且zk≠xm,则Z是xm-1和Y的最长公共子序列。 (3)若xm≠yn且zk≠yn,则Z是X和yn-

您可能关注的文档

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档