最新KMP算法(原创)教学讲义PPT.ppt

最新KMP算法(原创)教学讲义PPT.ppt

ID:62070905

大小:381.00 KB

页数:36页

时间:2021-04-14

最新KMP算法(原创)教学讲义PPT.ppt_第1页
最新KMP算法(原创)教学讲义PPT.ppt_第2页
最新KMP算法(原创)教学讲义PPT.ppt_第3页
最新KMP算法(原创)教学讲义PPT.ppt_第4页
最新KMP算法(原创)教学讲义PPT.ppt_第5页
资源描述:

《最新KMP算法(原创)教学讲义PPT.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、KMP算法(原创)简单算法(Brute-Force算法)算法描述:从正文s和模式p的第一个字符出发,将s和p的字符依次逐个进行比较,如果p中的所有字符均与s中的对应字符匹配,则说明匹配成功;如果在比较过程中发现了一个字符不匹配,则将模式p沿正文s向后移动一个字符的位置,然后再从p的第一个字符开始与中的对应字符逐个进行比较。以此类推,直到匹配成功或到达的末段为止。(2)Brute-Force算法的实现intString::FindSubstr(constString&t,intstart)const{inti=start,j=0,v

2、;while(i=t.size-1)v=i-t.size+1;elsev=-1;returnv;}(2)式的由来是:当初正文中的第i个字符与模式中的第j个字符失配时,说明两者之前的j个字符肯定是一样的,而k

3、字符与第j个字符之前的k个字符相同。设next[j]表示:当模式中第j个字符与正文中相应字符“失配”时,在模式中重新和正文中该字符进行比较的字符的位置。并令next[j]=k。Next数组的完整定义如下:Max{k

4、0

5、t数组值首先要明确一点:next数组的求值只与模式p有关,而与具体的正文s无关。我们可用递推的方法求next数组值。假设已求得next[j]=k,根据定义可得‘p0p2……pk-1’=‘pj-kpj-k+1……pj-1’那么next[j+1]=?1、若pk=pj,则表明‘p0p1……pk’=‘pj-kpj-k+1……pj’,并且不可能存在k’>k满足上式,那么next[j+1]=k+1式1也就是:next[j+1]=next[j]+12、若pk!=pj,则表明‘p0p1……pk’!=‘pj-kpj-k+1……pj’这时如何求nex

6、t[j+1]呢?有两种可能情况转化法式1的结论可这样描述:何时的k使得pk=pj,就用此时的k代入式1。而现在的k是pk!=pj,因此必须要换成另外一个“k”,并设它为k2,以使得pk2=pj。问题又出来了:k2如何得来?如图:要使得k转为k2,实际上就是将p往右移,移动后p’的j对应p的k2。00jjj-k+1kP’Pk2,到底是多少首先取决于另一个前提条件:‘p0p1……pk2-1’=‘pj-k2pj-k2+1……pj-1’如图:实际上,k2=next[k]000jjjj-k+1kkk2k-k2+1p1p2p3那么,满足了这个

7、前提条件,是否就满足pk2=pj了呢?显然两者互不相干。也就是说,仅移动一次不一定满足pk2=pj。如果移动一次后得到k2仍然不满足pk2=pj,就要按照前提条件再移动一次。依次类推,直到pkn=pj,或kn=0为止。此时有:next[j+1]=kn+1而kn=next[kn-1]k1=k=next[j]由于,kn

8、外泄失常的病证。分类:根据汗出的临床表现,可分为:自汗:昼日汗出溱溱,动则益甚。盗汗:睡眠中汗出,醒后汗止。战汗:外感病中,全身战栗而汗出。脱汗:危重病人,大汗淋漓,或汗出如油如珠,并伴亡阳或亡阴危证。黄汗:汗出色黄如柏汁,染衣着色。自汗、盗汗应着重与脱汗、战汗、黄汗相鉴别。1.脱汗脱汗表现为大汗淋漓,汗出如珠,常同时出现声低息微,精神疲惫,四肢厥冷,脉微欲绝或散大无力,多在疾病危重时出现,为病势危急的征象,故脱汗又称为绝汗。2.战汗主要出现于急性热病过程中,表现为突然恶寒战栗,全身汗出,发热,口渴,烦躁不安,为邪正交争的征象。若

9、汗出之后,热退脉静,气息调畅,为正气拒邪,病趋好转。3.黄汗汗出色黄,染衣着色,常伴见口中粘苦,渴不欲饮,小便不利,苔黄腻,脉弦滑等湿热内郁之症。病因病机出汗为人体的生理现象,在天气炎热、穿衣过厚、饮用热汤、情绪激动、劳动奔走等情况下,出汗量增加,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。