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

  • Authors:
  • Steffen Heinz;Justin Zobel;Hugh E. Williams

  • Affiliations:
  • RMIT University, Melbourne, Victoria, Australia;RMIT University, Melbourne, Victoria, Australia;RMIT University, Melbourne, Victoria, Australia

  • Venue:
  • ACM Transactions on Information Systems (TOIS)
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.