Burst tries: A fast, efficient data structure for string keys

被引:77
作者
Heinz, S [1 ]
Zobel, J [1 ]
Williams, HE [1 ]
机构
[1] RMIT Univ, Sch Comp Sci & Informat Technol, Melbourne, Vic 3001, Australia
关键词
algorithms; binary trees; splay trees; string data structures; text databases; tries; vocabulary accumulation;
D O I
10.1145/506309.506312
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Many applications depend on efficient management of large sets of distinct strings in memory. For example, during index construction for text databases a record is held for each distinct word in the text, containing the word itself and information such as counters. We propose a new data structure, the burst trie, that has significant advantages over existing options for such applications: it uses about the same memory as a binary search tree; it is as fast as a trie; and, while not as fast as a hash table, a burst trie maintains the strings in sorted or near-sorted order. In this paper we describe burst tries and explore the parameters that govern their performance. We experimentally determine good choices of parameters, and compare burst tries to other structures used for the same task, with a variety of data sets. These experiments show that the burst trie is particularly effective for the skewed frequency distributions common in text collections, and dramatically outperforms all other data structures for the task of managing strings while maintaining sort order.
引用
收藏
页码:192 / 223
页数:32
相关论文
共 55 条
[1]  
AHO A, 1986, COMPILERS PRINCIPLE
[2]  
Aho A. V., 1983, DATA STRUCTURES ALGO
[3]   ALGORITHMS FOR TRIE COMPACTION [J].
ALSUWAIYEL, M ;
HOROWITZ, E .
ACM TRANSACTIONS ON DATABASE SYSTEMS, 1984, 9 (02) :243-263
[4]   IMPROVED BEHAVIOR OF TRIES BY ADAPTIVE BRANCHING [J].
ANDERSSON, A ;
NILSSON, S .
INFORMATION PROCESSING LETTERS, 1993, 46 (06) :295-300
[5]  
[Anonymous], HDB ALGORITHMS DATA
[6]   A trie compaction algorithm for a large set of keys [J].
Aoe, J ;
Morimoto, K ;
Shishibori, M ;
Park, KH .
IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 1996, 8 (03) :476-491
[7]   AN EFFICIENT IMPLEMENTATION OF TRIE STRUCTURES [J].
AOE, JI ;
MORIMOTO, K ;
SATO, T .
SOFTWARE-PRACTICE & EXPERIENCE, 1992, 22 (09) :695-721
[8]   Fast text searching for regular expressions or automaton searching on tries [J].
BaezaYates, RA ;
Gonnet, GH .
JOURNAL OF THE ACM, 1996, 43 (06) :915-936
[9]   AN EVALUATION OF SELF-ADJUSTING BINARY SEARCH TREE TECHNIQUES [J].
BELL, J ;
GUPTA, G .
SOFTWARE-PRACTICE & EXPERIENCE, 1993, 23 (04) :369-382
[10]  
Bell T. C., 1990, TEXT COMPRESSION