Information and Computation ( IF 0.8 ) Pub Date : 2021-08-28 , DOI: 10.1016/j.ic.2021.104794 Kazuya Tsuruta , Dominik Köppl , Shunsuke Kanda , Yuto Nakashima , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda
Given a dynamic set of k strings of total length n whose characters are drawn from an alphabet of size σ, a keyword dictionary is a data structure built on that provides lookup, prefix search, and update operations on . Under the assumption that characters fit into a single machine word of w bits, we propose a keyword dictionary that represents in either or bits of space, where is the number of nodes of a trie representing . It supports all operations in expected time on an input string of length m in the word RAM model. An evaluation of our implementation highlights the practical usefulness of the proposed data structure, especially for prefix searches — one of the most essential keyword dictionary operations.
中文翻译:
c-trie++:为快速前缀搜索量身定制的动态 trie
给定一个动态集k个总长度为n的字符串,其字符来自大小为σ的字母表,关键字字典是建立在提供查找、前缀搜索和更新操作. 在假设下字符适合w位的单个机器词,我们提出了一个关键字字典,表示在任一或者位空间,在哪里是表示树的节点数. 它支持所有操作字 RAM 模型中长度为m的输入字符串的预期时间。对我们实现的评估强调了所提出的数据结构的实际用途,特别是对于前缀搜索——最重要的关键字字典操作之一。