Table of Contents
Fetching ...

Bounds and Algorithms for Alphabetic Codes and Binary Search Trees

Roberto Bruno, Roberto De Prisco, Alfredo De Santis, Ugo Vaccaro

TL;DR

The paper addresses the cost of navigating ordered spaces under probabilistic models by studying alphabetic codes and binary search trees. It introduces a linear-time construction framework for near-optimal alphabetic codes and derives refined upper bounds on the average length $L_{\min}$, improving on prior bounds such as the Dagan bound. These alphabetic-code insights are then leveraged to obtain tighter upper bounds on the cost of optimal binary search trees, and a linear-time method is presented to produce BSTs whose performance approaches the improved theoretical limits. The work thus links coding-theoretic constructions with search-data-structure optimization, delivering practical linear-time algorithms and tighter theoretical guarantees for both alphabets and BSTs.

Abstract

Alphabetic codes and binary search trees are combinatorial structures that abstract search procedures in ordered sets endowed with probability distributions. In this paper, we design new linear-time algorithms to construct alphabetic codes, and we show that the obtained codes are not too far from being optimal. Moreover, we exploit our results on alphabetic codes to provide new bounds on the average cost of optimal binary search trees. Our results improve on the best-known bounds on the average cost of optimal binary search trees present in the literature.

Bounds and Algorithms for Alphabetic Codes and Binary Search Trees

TL;DR

The paper addresses the cost of navigating ordered spaces under probabilistic models by studying alphabetic codes and binary search trees. It introduces a linear-time construction framework for near-optimal alphabetic codes and derives refined upper bounds on the average length , improving on prior bounds such as the Dagan bound. These alphabetic-code insights are then leveraged to obtain tighter upper bounds on the cost of optimal binary search trees, and a linear-time method is presented to produce BSTs whose performance approaches the improved theoretical limits. The work thus links coding-theoretic constructions with search-data-structure optimization, delivering practical linear-time algorithms and tighter theoretical guarantees for both alphabets and BSTs.

Abstract

Alphabetic codes and binary search trees are combinatorial structures that abstract search procedures in ordered sets endowed with probability distributions. In this paper, we design new linear-time algorithms to construct alphabetic codes, and we show that the obtained codes are not too far from being optimal. Moreover, we exploit our results on alphabetic codes to provide new bounds on the average cost of optimal binary search trees. Our results improve on the best-known bounds on the average cost of optimal binary search trees present in the literature.
Paper Structure (5 sections, 11 theorems, 71 equations, 3 figures, 2 algorithms)

This paper contains 5 sections, 11 theorems, 71 equations, 3 figures, 2 algorithms.

Key Result

Theorem 1

nakatsu1991bounds Let $L = \langle \ell_1,\dots,\ell_m \rangle$ be a list of integers, associated with the ordered symbols $s_1 \prec \dots \prec s_m$. There exists an alphabetical code for which the codeword assigned to symbol $s_i$ has length $\ell_i$, for each $i=1, \ldots, m$, if and only if $\h

Figures (3)

  • Figure 1: The alphabetic trees constructed on the list of lengths $L=\langle 6,6,5,2,9,9,8,6,3,2\rangle$. On the left the tree constructed by taking the first $\ell_i$ bits of the binary expansion of $\hbox{\normalfont \tt sum}(L, i)$, (according to Nakatsu nakatsu1991bounds), on the right the tree constructed by our algorithm ConstructTree($L$).
  • Figure 2: The figure shows the two cases discussed above: the elimination of $x$ bumps up of one level the leaf that precedes it (above), and the leaf that follows it (below).
  • Figure 4: Figure (a) shows the initial alphabetic tree; Figure (b) shows the tree after performing the first step; Figure (c) shows the tree after the application of the algorithm.

Theorems & Definitions (24)

  • Definition 1
  • Theorem 1
  • Lemma 1
  • Lemma 2
  • proof
  • Remark 1
  • Theorem 2
  • proof
  • Lemma 3
  • proof
  • ...and 14 more