[发明专利]一种后缀数组的正确性验证方法及系统有效
申请号: | 201710183201.3 | 申请日: | 2017-03-24 |
公开(公告)号: | CN107015951B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 韩凌波;农革;徐文涛 | 申请(专利权)人: | 广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学 |
主分类号: | G06F40/194 | 分类号: | G06F40/194 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 528300 广东省佛山市顺德区大良*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种后缀数组的正确性验证方法和系统,所述方法包括:从右向左扫描一遍T,按照后缀类型的定义比较当前扫描的字符T[i]与后继字符T[i+1]的大小,计算T的字符T[i]和suf(T,i)的类型,记录于t[i]中;从左向右扫描一遍T,找出其中所有LMS字符出现的位置,从而获取所有LMS子串的首字符指针,用数组P1来记录;根据数组P1、B和SA,使用归纳排序的方法对T的LMS子串进行排序,结果保存在数组SA1;从左向右扫描SA,如果SA[i]为LMS类型,将SA[i]保存至SA1中;判断T1中的字符是否唯一,若是则直接根据T1的名字计算出SA1,且用SA1更新C数组;根据T1和SA1归纳计算T的后缀数组SA,计算过程中使用C数组验证SA的正确性,如果SA正确,用SA更新C数组。 | ||
搜索关键词: | 一种 后缀 数组 正确性 验证 方法 系统 | ||
【主权项】:
一种后缀数组的正确性验证方法,其特征在于,包括:从右向左扫描一遍字符串T,按照后缀类型的定义比较当前扫描的字符T[i]与后继字符T[i+1]的大小,计算字符串T的字符T[i]和suf(T,i)的类型,记录于t[i]中;从左向右扫描一遍字符串T,找出其中所有LMS字符出现的位置,从而获取所有LMS子串的首字符指针,用数组P1来记录;根据数组P1、B和SA,使用归纳排序的方法对字符串T的LMS子串进行排序,结果保存在数组SA1;从左向右扫描SA,如果SA[i]为LMS类型,将SA[i]保存至SA1中;判断T1中的字符是否唯一;若是则直接根据T1的名字计算出SA1,且用SA1更新C数组;根据T1和SA1归纳计算字符串T的后缀数组SA,计算过程中使用C数组验证SA的正确性,如果SA正确,用SA更新C数组,其中C数组保存的是当前递归层已有序的LMS后缀地址。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学,未经广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710183201.3/,转载请声明来源钻瓜专利网。