毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
ASP.net基于内容的音乐检索方法研究(7)
BM算法需要预处理.也需要辅助空问.逻辑上也相对比较复杂。但是整个算法执行的效率相对较高。如果字符越多,效率越高。因此BM算法在汉字文本串匹配效率要高于
英文
文本串的匹配。
3.2.4 BMH算法
它是对BM算法的改进,思想是通过目标串和模式串中字符的最后一个位置对应字符的下一个字符来决定右移的字符个数。算法描述如下:
(1)模式串从左向右移动,匹配自右向左进行;
(2)若匹配失败发生在Pj≠Ti:,先根据BM算法计算出字符Ti的位移量,再比较下一个字符:如果下一个字符出现在模式串中,则移动的距离通过模式串决定。否则,跳过该字符从下一个字符开始重新比较。依次循环,直到匹配为止。
可以看出,该算法的最坏情况即为BM算法的情况,即右移的字符个数N>=dist[t],故相对BM算法具有一定的优越性。
BMH算法预处理时间复杂度为O(m+o),空间复杂度先0(o),o是与Pattern、Text相关的有限字符集长度。查找阶段时间复杂度为O(mn),在一般情况下,BMH算法比BM有更好的性能,它只使用了一个数组,简化了初始化过程。
3.2.5 AC算法
1975年,贝尔实验室的Alfred V.Aho和Margaret J.Corasick提出了著名的多模式匹配算法一一AC自动机匹配算法(简称AC算法)。该算法最早被使用在图书馆的书目查询程序中,取得了很好的效果。
AC算法描述(例如模式集SP={he,she,his,hers}):
预处理阶段,模式树的各个节点作为状态,根节点作为初态,标签为模式的节点作为终态,利用转向函数g和失效函数f作为转移函数,将模式树扩展成一个树型有限自动机。见图3-1
由模式树扩展所得的AC自动机M是1个6元组:M= (Q,Σ,g,f,qo,F)其中:
(1)Q是有限状态集(模式树上的节点);
(2)Σ是有穷的输入字符表(数据包中可能出现的所有字符);
(3)g是转移函数,该函数定义如下:g(S,a):从当前状态S开始,沿着边上标签为a的路径所到的状态。假如(U,v)边上的标签为a,那么g(U,a)=v;如果根节点上出来的边上的标签没有a,则g(0,a)=O,即如果没有匹配的字符出现,自动机停留在初态;
(4)f(不匹配时自动机的状态转移)也是转移函数,该函数定义如下:f(S):当w是L(s)最长真后缀并且W是某个模式的前缀,那么f(S)就是以W为标签的那个节点;
(5)qo∈Q是初态(根节点,标识符为0);
(6)F量Q是终态集(以模式为标签的节点集)。
这样,在文本字符串中查找模式字符串的过程转化成在模式树中的查找过程。查找一个文本字符串T时从模式树的根节点开始,沿着以T中字符为标签的路径往下走:若自动机能够抵达终态v,则说明T中存在模式L(v):否则不存在模式。
图3.2.1 模式树
AC算法模式匹配的时间复杂度是O(n),并且与模式集中模式字符串的个数和每个模式字符串的长度无关。无论模式字符串P是否出现在文本字符串T中,T中的每个字符都必须输入状态机中,所以无论是最好情况还是最坏情况,AC算法模式匹配的时间复杂度都是0(n),包括预处理时间在内,AC算法总时间复杂度是O(M+n),其中M为所有模式字符串的长度总和。AC算法的查找效率明显高于BM算法。但是,AC算法在对文本字符串匹配的过程中没有跳跃,无法跳过不必要的比较,并且有限状态自动机算法是以空间换时间的经典算法,当模式集较大时可能产生内存膨胀问题。因此在实际的匹配过程中,AC算法不可能是性能最佳的搜索算法。
3.2.6 AC-BM算法
AC-BM算法是在Aho.Corasick算法的基础上,结合Boyer.Moore算法的跳跃思想,产生的一种多模式匹配算法。在一般情况下,由于应用了BM算法的跳跃式思文,所以不需要对文本的每个字符进行匹配。在BM算法的基础上引入了AC算法,来提高匹配速度,跳过尽可能多的字符,在模式字符串较长和较短的情况下,该算法都具有很好的性能。
共9页:
上一页
1
2
3
4
5
6
7
8
9
下一页
上一篇:
云计算在校园网中的应用与研究
下一篇:
C#+sqlserver公司管理系统设计客户跟进模块设计
基于android的环境信息管理系统设计
ASP.NET飞翔租贷汽车公司信...
基于激光超声检测金属材...
基于MOODLE平台的在线交互式学习设计
基于离散事件系统Petri网模型的可达图研究
基于高斯过程动态模型的时序数据恢复方法
基于深度学习的目标识别算法研究
STC89C52单片机NRF24L01的无线病房呼叫系统设计
基于Joomla平台的计算机学院网站设计与开发
浅谈高校行政管理人员的...
从政策角度谈黑龙江對俄...
AES算法GPU协处理下分组加...
压疮高危人群的标准化中...
浅论职工思想政治工作茬...
酵母菌发酵生产天然香料...
提高教育质量,构建大學生...
上海居民的社会参与研究