We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.DS

Change to browse by:

cs

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Data Structures and Algorithms

Title: Optimal Skeleton Huffman Trees Revisited

Abstract: A skeleton Huffman tree is a Huffman tree in which all disjoint maximal perfect subtrees are shrunk into leaves. Skeleton Huffman trees, besides saving storage space, are also used for faster decoding and for speeding up Huffman-shaped wavelet trees. In 2017 Klein et al. introduced an optimal skeleton tree: for given symbol frequencies, it has the least number of nodes among all optimal prefix-free code trees (not necessarily Huffman's) with shrunk perfect subtrees. Klein et al. described a simple algorithm that, for fixed codeword lengths, finds a skeleton tree with the least number of nodes; with this algorithm one can process each set of optimal codeword lengths to find an optimal skeleton tree. However, there are exponentially many such sets in the worst case. We describe an $O(n^2\log n)$-time algorithm that, given $n$ symbol frequencies, constructs an optimal skeleton tree and its corresponding optimal code.
Comments: 12 pages, 3 figures, accepted to CSR 2020
Subjects: Data Structures and Algorithms (cs.DS)
Cite as: arXiv:2001.05239 [cs.DS]
  (or arXiv:2001.05239v2 [cs.DS] for this version)

Submission history

From: Dmitry Kosolobov [view email]
[v1] Wed, 15 Jan 2020 11:13:17 GMT (31kb)
[v2] Tue, 24 Mar 2020 15:28:11 GMT (32kb)

Link back to: arXiv, form interface, contact.