一种无间隙约束的在线串匹配方法组成比例

技术编号:20221695 阅读:38 留言:0更新日期:2019-01-28 20:13
本发明专利技术一种无间隙约束的在线串匹配方法,涉及电数字数据处理技术领域,利用在线的方式来处理无间隙约束的无重叠的模式匹配问题,即序列串中同一位置的字符可以在模式串的不同位置进行匹配。步骤是:读入模式串P,建立多个队列;对给定的序列串S按照前后顺序依次读取;判定队列i是否能够创建结点;判定是否能够构成一个无重叠条件的出现,当构成一个出现则将其在显示器上输出,直至处理完序列串S中的所有字符。本发明专利技术克服了现有技术存在的在保证完备性的基础上很难有效地控制空间开销和时间开销的缺陷,不仅提高了求解的速度,同时还保证了解的完备性。

【技术实现步骤摘要】
一种无间隙约束的在线串匹配方法
本专利技术的技术方案涉及电数字数据处理
,具体地说是一种无间隙约束的在线串匹配方法。
技术介绍
随着社会的不断进步,计算机领域蓬勃发展,数据的处理也逐渐成为了一个研究热点,而在数据中检索出更加有用的信息,则显得尤为重要,进而,研究学者将数据中的信息字符化,并对其进行整理统计,于是字符串匹配这一技术便随之产生,随着技术的发展,研究学者又将在某一字符串中找出与给定子串相同的所有子串这一过程定义为串匹配或模式匹配,串匹配或模式匹配的实际应用十分广泛,不仅应用于简单的生物序列匹配,还应用于生活中的购物心理匹配。现今,模式匹配的发展趋势有以下几种:①从传统的模式匹配到是否考虑间隙约束的模式匹配,下例A对①给出了详细说明;②从无条件的模式匹配到一次性的模式匹配;③从无条件的模式匹配到无重叠的模式匹配,下例B对②和③给出了详细说明;另外,从传统的一次性将文本或序列读入后再统一处理的形式发展为后来的边读入文本或序列边处理的形式,研究学者们将前者定义为离线的形式,而后者则定义为在线的形式。例A.给定模式串P=p1[0,1]p2[0,1]p3[0,1]p4=a[0,本文档来自技高网...

【技术保护点】
1.一种无间隙约束的在线串匹配方法,其特征在于具体步骤是:第一步,读入模式串P,建立多个队列:读入模式串P,确定该模式串P的长度为m,该模式串P中的各个模式子串的字符为pi,这里i为1、2、3、……、m中的一个数字,为此,该模式串P中的各个模式子串的字符分别为p1、p2、……、pm,并对模式串P建立m个队列,这些队列的编号为队列i,这里i为1、2、3、……、m中的一个数字,则模式串P建立的m个队列分别是队列1、队列2、……、队列m;第二步,对给定的序列串S按照前后顺序依次读取:对给定的序列串S按照前后顺序依次读取读入该序列串S中的字符sj,这里j为1、2、3、……、n中的一个数字,为此,该序列...

【技术特征摘要】
1.一种无间隙约束的在线串匹配方法,其特征在于具体步骤是:第一步,读入模式串P,建立多个队列:读入模式串P,确定该模式串P的长度为m,该模式串P中的各个模式子串的字符为pi,这里i为1、2、3、……、m中的一个数字,为此,该模式串P中的各个模式子串的字符分别为p1、p2、……、pm,并对模式串P建立m个队列,这些队列的编号为队列i,这里i为1、2、3、……、m中的一个数字,则模式串P建立的m个队列分别是队列1、队列2、……、队列m;第二步,对给定的序列串S按照前后顺序依次读取:对给定的序列串S按照前后顺序依次读取读入该序列串S中的字符sj,这里j为1、2、3、……、n中的一个数字,为此,该序列串S中的每个字符分别为s1、s2、s3、……、sn;第三步,判定队列i是否能够创建结点:判定上述第一步的队列i是否能够创建结点,依照如下方法处理:依次对读入上述第二步给定的的序列串S中的字符sj,依次判定其与模式串P中相应的模式子串字符pi是否相同,当都不相同时,直接放弃对该字符的处理,当字符sj与字符pi相同时,则需要按照如下形式进行判定,确定能否在队列创建结点:(3.1)能在队列i创建结点的形式:(3.1.1)当i=1时,则在队列1创建结点,记为结点(3.1.2)当i>1且p(i-1).back≠j时,并且如下公式(1)成立,numi<numi-1(1)则在队列i创建结点,记为结点(3.1.3)当i>1且p(i-1).back=j时,并且如下公式(2)成立,numi<numi-1-1(2)则在队列i创建结点,记为结点(3.2)不能在队列i创建结点的形式:(3.2.1)当i>1时,numi-1=0,则不能在队列i创建结点,(3.2.2)当i>1且p(i-1).back≠j时,并且如下公式(1)不成立,numi<numi-1(1)则不能在队列i创建结点,(3.2.3)当i>1且p(i...

【专利技术属性】
技术研发人员:武优西王建姣刘靖宇张帅柴欣朱怀忠李艳
申请(专利权)人:河北工业大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1