Results 1 
6 of
6
Wavelet Trees for All
"... The wavelet tree is a versatile data structure that serves a number of purposes, from string processing to geometry. It can be regarded as a device that represents a sequence, a reordering, or a grid of points. In addition, its space adapts to various entropy measures of the data it encodes, enabli ..."
Abstract

Cited by 32 (12 self)
 Add to MetaCart
(Show Context)
The wavelet tree is a versatile data structure that serves a number of purposes, from string processing to geometry. It can be regarded as a device that represents a sequence, a reordering, or a grid of points. In addition, its space adapts to various entropy measures of the data it encodes, enabling compressed representations. New competitive solutions to a number of problems, based on wavelet trees, are appearing every year. In this survey we give an overview of wavelet trees and the surprising number of applications in which we have found them useful: basic and weighted point grids, sets of rectangles, strings, permutations, binary relations, graphs, inverted indexes, document retrieval indexes, fulltext indexes, XML indexes, and general numeric sequences.
Optimal Dynamic Sequence Representations
"... We describe a data structure that supports access, rank and select queries, as well as symbol insertions and deletions, on a string S[1, n] over alphabet [1..σ] in time O(lg n / lg lg n), which is optimal. The time is worstcase for the queries and amortized for the updates. This complexity is bette ..."
Abstract

Cited by 14 (7 self)
 Add to MetaCart
(Show Context)
We describe a data structure that supports access, rank and select queries, as well as symbol insertions and deletions, on a string S[1, n] over alphabet [1..σ] in time O(lg n / lg lg n), which is optimal. The time is worstcase for the queries and amortized for the updates. This complexity is better than the best previous ones by a Θ(1 + lg σ / lg lg n) factor. Our structure uses nH0(S) + O(n + σ(lg σ + lg 1+ε n)) bits, where H0(S) is the zeroorder entropy of S and 0 < ε < 1 is any constant. This space redundancy over nH0(S) is also better, almost always, than that of the best previous dynamic structures, o(n lg σ)+O(σ(lg σ+lg n)). We can also handle general alphabets in optimal time, which has been an open problem in dynamic sequence representations.
Wavelet trees meet suffix trees
 In ACMSIAM Symposium on Discrete Algorithms (SODA
, 2015
"... ar ..."
Table of Contents
, 2015
"... c © Copyright by Alexander Safatli, 2015 I dedicate this document to my loving family, of which also includes the colourful members of Blouin Lab, in appreciation of the lessons this journey has given me. ..."
Abstract
 Add to MetaCart
(Show Context)
c © Copyright by Alexander Safatli, 2015 I dedicate this document to my loving family, of which also includes the colourful members of Blouin Lab, in appreciation of the lessons this journey has given me.
Improved Practical Compact Dynamic Tries
"... Abstract. We consider the problem of implementing a dynamic trie with an emphasis on good practical performance. For a trie with n nodes with an alphabet of size σ, the informationtheoretic lower bound is n log σ + O(n) bits. The Bonsai data structure [1] supports trie operations in O(1) expected ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We consider the problem of implementing a dynamic trie with an emphasis on good practical performance. For a trie with n nodes with an alphabet of size σ, the informationtheoretic lower bound is n log σ + O(n) bits. The Bonsai data structure [1] supports trie operations in O(1) expected time (based on assumptions about the behaviour of hash functions). While its practical speed performance is excellent, its space usage of (1 + )n(log σ + O(log log n)) bits, where is any constant > 0, is not asymptotically optimal. We propose an alternative, mBonsai, that uses (1 + )n(log σ + O(1)) bits in expectation, and supports operations in O(1) expected time (again based on assumptions about the behaviour of hash functions). We give a heuristic implementation of mBonsai which uses considerably less memory and is slightly faster than the original Bonsai.
Parallel Wavelet Tree Construction∗ Julian Shun
"... Wavelet trees have received significant attention due to their applications in compressed data structures. We present several workefficient parallel algorithms for wavelet tree construction that have polylogarithmic span, improving upon the linear span of the recent parallel algorithms by Fuentes ..."
Abstract
 Add to MetaCart
(Show Context)
Wavelet trees have received significant attention due to their applications in compressed data structures. We present several workefficient parallel algorithms for wavelet tree construction that have polylogarithmic span, improving upon the linear span of the recent parallel algorithms by FuentesSepulveda et al. We experimentally show that on 40 cores our algorithms outperform the existing parallel algorithms by 2–12x and achieve up to 27x speedup over the sequential algorithm on a variety of realworld and artificial inputs. Our algorithms show good scalability with both increasing input size and increasing alphabet size. We also discuss how to extend our algorithms to variants of the standard wavelet tree. 1