1 / 18
文档名称:

最长公共子串问题公开课获奖课件赛课一等奖课件.ppt

格式:ppt   大小:90KB   页数:18页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

最长公共子串问题公开课获奖课件赛课一等奖课件.ppt

上传人:读书之乐 2025/5/9 文件大小:90 KB

下载得到文件列表

最长公共子串问题公开课获奖课件赛课一等奖课件.ppt

相关文档

文档介绍

文档介绍:该【最长公共子串问题公开课获奖课件赛课一等奖课件 】是由【读书之乐】上传分享,文档一共【18】页,该文档可以免费在线阅读,需要了解更多关于【最长公共子串问题公开课获奖课件赛课一等奖课件 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。最长公共子串问题
最长公共子串问题 (Longest common substring, 简称LCS)
[问题描述]一种字符串的某个子串,就是结定的字符串再去掉几种元素(也许一种也不去掉)。
形式化地,结定字符串X=<Xl,X2,…,Xm>,和另一字符串Z=<Zl,Z2,… ,Zk>,假如存在X的一种严格递增的下标序列<i1, i2, …, ik>,使得对所有的J = 1, 2, …, k ,有
则Z是X的子串。例如Z=<B, C, D, B> 就是X=<A, B, C, B, D, A, B>的一种子串,
对应的下标序列为<2,3,5,7>。
给定三个序列 X,Y和Z,假如Z既是X的一种子串又是Y的一种子串,则称Z是X和Y的公共子串。例如X=<A,B,C,B,D,A,D>,Y=<B,D,C,A,B,A>。
则序列<B,C,A>,即为X和Y的一种公共子串,但不是X和Y的最长公共子串(LCS), 由于尚有比它更长的公共子串<B,C,B,A>。 <B,C,B,A>是X和Y的一种LCS ,字符串<B,D,A,B>也是。
[问题] 现输入两个字符串X=<X1, X2, …, Xm>和Y=<Y1, Y2, …, Yn>,规定出X和Y的最长公共子串。
分析
描述LCS问题最优解的构造
首先.我们给出一种字符串“前缀”的概念:
给定一种字符串X=<X1, X2, …, Xm>,对I= 0, 1, …, m,定义X的第i个前缀为
例如,假如X=<A,B,C,B,D,A,B>,则
而 则为空串。
两个输入字符串X和Y的所有前缀构成了LCS问题的子问题空间。由此我们发现LCS问题的最优子构造的三个性质:
设X=<X1, X2, …, Xm>和Y=<Y1, Y2, …, Yn>为两个输入字符串,并设X和Y的最长公共子串为Z=<Z1, Z2, …, Zk>
性质1:假如Xm = Yn,则Zk = Xm = Yn,且
也就是说,假如两个字符串最终一位字符相等,则它们的最长公共子串的最终一位就是这个字符,并且公共子串的第k-1个前缀是两个字符串前缀的最长公共子串
分析
举例阐明:
X = <A, B, E, …, G, F>
Y= <C, D, H, …, K, F>
因X和Y的最终一位相等,则它们的最长公共子串Z的最终一位必为F,即有
Z = <……, F>的样式。并且 Z’=<……>是X’=<A, B, E, …,G> 和Y’=<C,D,H, …,K>的最长公共子串。
性质2:
也就是说,假如两个字符串最终一位不等,则它们的最长公共子串Z的最终一位不等于X的最终一位,就意味着Z是X的前缀与Y的最长公共子串。
举例阐明:
X = <A, B, E, …, G, M>
Y= <C, D, H, …, K, S>
Z= <……, F>
因X和Y最终一位不等,X和它的子串的最终一位也不等,则Z是X’=<A,B,E…,G>和Y的最长公共子串
分析-最优子构造
性质3:
也就是说,假如两个字符串最终一位不等,则它们的最长公共子串Z的最终一位不等于Y的最终一位,就意味着Z是X与Y的前缀的最长公共子串。
举例阐明:
X = <A, B, E, …, G, W>
Y= <C, D, H, …, K, I>
Z= <……, F>
因X和Y最终一位不等,Y和它的子串的最终一位也不等,则Z是X和Y’=<C,D,H, …K>的最长公共子串
由此可见,字符串X和Y的一种最长公共子串也是包含了两个字符串的前缀的一种最长公共子串,这就阐明了LCS问题具有最优子构造性质。
递归地定义LCS的值
由LCS问题的最优子构造的三个性质可知,规定X=<X1, X2, …, Xm>和Y=<Y1, Y2, …, Yn> 的一种LCS,也许要检查如下子问题:
1.若Xm=Yn,我们就要找出
2.假如Xm≠Yn,我们就要处理两个问题:
取两者中较长者作为X和Y的LCS。由此我们很容易看出重叠子问题的性质:为找出X和Y的一种LCS,我们也许需要找X和 的一种LCS与 和Y的一种LCS,这两个子问题都包含着找 和 的LCS的子问题。尚有许多其他子问题都具有公共子子问题。
递归地定义LCS的值
用实例来阐明上述查找过程。
设X=<A,B,C,B>,Y=<B,D,C>
1) X4 = B, Y3=C , X4 <> Y3,因此转而求“ X’=<A,B,C>与Y的LCS” 和 “Y’= <B,D>与X的LCS”。谁长谁就是X和Y的LCS。
2a) X=<A,B,C>, Y=<B,D,C>, X3=Y3, 因此转而求X=<A,B>与Y=<B,D>的LCS。
2b) X=<A,B,C,B>, Y=<B,D>, X4<>Y2, 因此转而求X=<A,B,C>与Y=<B,D> 和 X=<A,B,C,B>与Y=<B>的LCS。
3a) X=<A,B>, Y= <B,D>, X2<>Y2, 因此转而求<A>与<B,D> 和<A,B>与<B>的LCS。
3b1)X=<A,B,C>, Y=<B,D>, X3<>Y2, 因此转而求<A,B,C>与<B>的LCS和<A,B>与<B,D>的LCS
3b2) X=<A,B,C,B>, Y=<B>, X4=Y1, 转而求 <A,B,C>与<>的LCS。在下一次计算中,就会遇到<A,B,C>与<>。显然,一种字符串与一种空串的公共子串仍是一种空串,长度为0。因此X=<A,B,C,B>, Y=<B>的LCS为<B>,长度为1
4a)同理, <A>与<B,D> 的LCS为<>; <A,B>与<B>的LCS为<B>, 因此<A,B>与<B,D>的LCS为<B>
4b)因<A,B,C>与<B>的LCS为<B>; <A,B>与<B,D>的LCS为<B> 故<A,B,C,B>与<B,D>的LCS为<B>
5a)因此<A,B>与<B,D>的LCS为<B> 故<A,B,C>与<B,D,C>的LCS为<B,C>
6) 因<A,B,C>与<B,D,C>的LCS为<B,C>; <A,B,C,B>与<B,D>的LCS为<B> 故
<A,B,C,B>与<B,D,C>的LCS为<B,C>
递归地定义LCS的值
设C[I,J]为字符串X和Y的最长公共子串的长度。X的长度为I,Y的长度为J。若I=0或者J=0,也就是说两个字符串之一的长度为0,目前LCS的长度值也必为0。由LCS问题的最优子构造可得递归式:
Y
B
D
C
X
0
0
0
0
A
0
0
0
0
B
0
1
1
1
C
0
1
1
2
B
0
1
1
2
自底向上求LCS的值
我们看到C[I,J]由两个自变量构成,I表达X的长度,J表达Y的长度。那么选择哪一种作为阶段变量更好呢?由于两个字符串在性质上没有区别,因此选择哪一种作阶段变量都无所谓。为简单计,不妨取I作为阶段变量。
因此阶段变量k的值范围是:1<=k<=I.
阶段k表达求X的第k个前缀X’k与Y的最长公共子串。

最近更新

压气机的喘振及防喘公开课获奖课件赛课一等奖.. 23页

法学本科毕业答辩-毕业答辩与法学本科学生 19页

校园能源,智慧未来-大学校园节能技术的探索与.. 39页

未来外科:智能器械革命-揭秘未来手术室的高科.. 23页

数据流图案例公开课获奖课件赛课一等奖课件 21页

水样色度的测定公开课获奖课件赛课一等奖课件.. 29页

人工合成有机化合物公开课获奖课件赛课一等奖.. 27页

劝学课文对译公开课获奖课件赛课一等奖课件 14页

教师卓越之路-教学理念,成长路径与教学策略 21页

三大经典实验公开课获奖课件赛课一等奖课件 15页

中国古建筑的主要特征03 50页

泸教版四年级数学(上册)期中试题及答案(全面).. 6页

泸教版四年级数学上册期中试卷及答案【完美版.. 7页

人机工程学在办公家具及空间中的应用公开课获.. 14页

苏教版一年级数学上册期中考试卷及答案(1) 7页

苏教版一年级语文下册期末考试卷(必考题) 5页

苏教版二年级数学(上册)期中阶段测试卷及答案.. 6页

苏教版二年级数学上册期中试卷及答案下载 6页

苏教版五年级语文下册期末考试卷及答案(精编).. 8页

苏教版六年级语文下册期中真题考试卷 7页

苏教版四年级语文(下册)期中阶段检测及答案 6页

苏教版四年级语文下册期末考试及答案 7页

西师大版一年级数学上册期中考试卷(各版本) 6页

西师大版三年级数学上册期中考试题(最新) 5页

西师大版四年级数学上册期中模拟考试附答案 6页

语文版一年级语文(下册)期末质量检测题及答案.. 4页

某地产假日风景 17页

道路绿化施工方案 60页

2024年黑龙江省哈尔滨市中考物理试卷(附参考答.. 10页

长歌行汉乐府优质课件公开课获奖课件省赛课一.. 10页