Succinct Dictionary Matching with No Slowdown

Succinct Dictionary Matching with No Slowdown
复制标题

简洁的字典匹配,不拖慢速度

DOI:
--
复制
发表时间:
2010
期刊:
Annual Symposium on Combinatorial Pattern Matching
影响因子:
--
通讯作者:
Djamal Belazzougui
Djamal Belazzougui
中科院分区:
--
文献类型:
--
作者:
Djamal Belazzougui

文献摘要

被引文献

相似文献

字典匹配的问题是字符串匹配中的一个经典问题:给定(不必要常数)大小σ的字母的一组d字符串,构建数据结构,以便我们可以在任何文本中匹配T属于S的字符串的所有出现都是此问题的经典解决方案是Aho-Corasick Automaton,它使用占O(M log o(m log m)空间位,其中m≤n + 1是本文中的状态数。 log(n/d))空间位,同时仍保持在O(| t |+ OCC)时间中回答查询的能力。 (nlogσ)空间的位时,回答查询o(| t | log log n+occ)时间。如果在任何常数的0 <e <1中,则出现在集合s的Trie表示中的字符的经验熵。查询时间保持不变。
The problem of dictionary matching is a classical problem in string matching: given a set S of d strings of total length n characters over an (not necessarily constant) alphabet of size σ, build a data structure so that we can match in a any text T all occurrences of strings belonging to S. The classical solution for this problem is the Aho-Corasick automaton which finds all occ occurrences in a text T in time O(|T| + occ) using a representation that occupies O(m log m) bits of space where m ≤ n + 1 is the number of states in the automaton. In this paper we show that the Aho-Corasick automaton can be represented in just m(log σ + O(1)) + O(d log(n/d)) bits of space while still maintaining the ability to answer to queries in O(|T|+ occ) time. To the best of our knowledge, the currently fastest succinct data structure for the dictionary matching problem uses O(n log σ) bits of space while answering queries in O(|T| log log n + occ) time. In the paper we also show how the space occupancy can be reduced to m(H0+O(1))+O(d log(n/d)) where H0 is the empirical entropy of the characters appearing in the trie representation of the set S, provided that σ < me for any constant 0 < e < 1. The query time remains unchanged.