基于后缀数组的滑动窗口匹配压缩改进算法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:huzhouweno
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
LZ77算法,又被称为“滑动窗口压缩”,它依赖两个滑动窗口来进行压缩,一个窗口包含已输入数据流,称为字典窗口DW(dictionary window);另一个窗口包含待压缩编码的字符串,即待编码窗口CW(code window)。LZ77通过查找在DW中与CW相同的字符数据并将匹配成功的数据编码成三元组写入压缩文件,从而实现数据压缩功能。后缀数组(Suffix Array,简称SA)作为一种常用的文本索引机制,由于其结构简单及空间效率较好的特点,现已经结合到LZ算法中。但这种结合方法,每次都需重建SA,时间复杂度较高,效率不高。首先分析字符串匹配等算法并进行对比,在对已提出各种LZ77改进算法的研究分析的基础上,进一步对后缀数组与最长公共前缀((Longest Common Prefix,简称LCP)等相关理论进行研究分析,阐述三种后缀数组的构建算法并对比。然后分析现有结合算法的思想及其不足,通过对SA的特点分析,提出完全后缀这一新术语,利用LCP数组把SA分为完全后缀(Complete Suffix Array,简称CSA)和非完全后缀(Uncompleted SuffixArray,简称UCSA),由于窗口滑动后UCSA保持了原有的偏序关系,且占SA比例高,采用二分插入法把CSA插入到UCSA中构建新的SA,可以更高效地重建SA。从而在保证压缩效率不降低的同时,提高整个算法的压缩效率。最后通过实验,对多种不同大小的文件进行测试,对比现有结合算法和改进算法的效率,表明改进算法的实践优越性。同时实验中的最长公共字符串平均长度和完全后缀数组的平均大小,也表明了改进算法的优越性。
其他文献
随着数据量的不断增长,关系数据分析系统面临着可扩展性和查询性能的挑战,许多查询任务都必须通过使用大规模的集群实现并行处理才能获得较好的查询响应时间。面对大数据处理的
随着服务计算和云计算的发展,具有相同功能属性、不同非功能属性的web服务出现了爆炸式增长,传统的web服务选择方法在应对海量服务数据时,无论是在性能还是效率保证方面,都面临着
随着信息技术的不断发展,人们对个性化服务的需求越来越高。而目前的搜索引擎在进行查询-文档匹配时,并没有针对不同的用户作相应的处理。对同一个查询词,不同用户得到的查询
随着嵌入式技术的不断发展,嵌入式数据库应用得越来越广泛。嵌入式环境有许多特点和限制,如移动性、网络不稳定性以及电源能力等,对嵌入式数据库可靠性和性能提出了更高的要求和
3D电影《阿凡达》的热播在全球范围内掀起了一股3D热潮,一时间立体电视、立体显示器、立体摄像机等产品相继迈入市场,为大众的生活增添了更多色彩。虽然目前3D内容的不足正极大
情境感知计算是普适计算的重要组成部分,通过时变的上下文信息自适应的为用户提供当前最合适的服务。在信息化社会,用户整个生活的大部分行为和活动状态都将可以通过传感器等方
随着信息技术的发展,存储在计算机系统结构中变得越来越重要。目前,在存储领域中,出现了一种新的存储介质:闪存。因其容量日益增大、读写速度快、抗干扰性强、功耗低等特点,基于闪
随着语义Web的发展,RDF数据量不断增长,浏览语义Web数据的需求变得越来越迫切。许多国外的研究机构开展了面向语义Web浏览的研究,并推出了一些有影响力的系统和工具。   然而
为了满足呈爆炸式增长的信息存储、处理、传输的需求,大规模数据中心应运而生。在大规模数据中心里,根据经典的80/20原理,将数据都存储在高性能设备上是不经济的,为了实现资源的
语义搜索(SemanticSearch)是一种将语义Web技术与搜索系统相结合以提高搜索效果的技术。学术语义搜索系统是以特定领域的实体作为搜索对象的语义搜索系统,使用具有明确含义的