基于有序列表子集前驱查询的通用字母表在线索引
数据结构与算法
2012-08-21 v1
摘要
文本索引是一个基础算法问题,旨在预处理文本以便快速定位其中的模式查询。在动态和在线数据不断发展的世界中,也需要开发能够索引在线到达(即逐字符到达)的文本,并仍能快速定位所述模式的解决方案。本文提出了一种新的在线索引解决方案,通过提供一种在线后缀树构造方法,其每个字符的最坏情况期望时间为 ,其中 是字符串大小, 是字母表。该方法改进了所有已知的通用字母表在线后缀树构造方法,代价是运行时间为期望时间。主要思想是将在线构造后缀树的问题归约为顺序维护问题的一个有趣变体,该变体可能具有独立的研究价值。在著名的顺序维护问题中,人们希望在插入、删除和顺序查询下维护一个大小为 的动态列表 。在顺序查询中,给定 中的两个节点,必须确定哪个节点在 中 precedes 另一个。在有序动态列表的动态子集上的前驱搜索问题(POLP)中,还需要维护 的动态子集,使得对于给定的某个 ,能够快速定位 在任何子集中的前驱。本文提供了一种高效的数据结构,能够以匹配 RAM 模型中前驱搜索当前最佳已知界限的最坏情况期望界限解决 POLP 问题,改进了可能从 Dietz [Die89] 隐式获得的解决方案。此外,本文改进或简化了若干其他应用的界限,包括全持久化数组和顺序维护问题。
引用
@article{arxiv.1208.3798,
title = {On-line Indexing for General Alphabets via Predecessor Queries on Subsets of an Ordered List},
author = {Tsvi Kopelowitz},
journal= {arXiv preprint arXiv:1208.3798},
year = {2012}
}
备注
Accepted to FOCS 2012, 17 pages