Optimal binary search trees with costs depending on the access paths

  • Authors:
  • Jayme L. Szwarcfiter;Gonzalo Navarro;Ricardo Baeza-Yates;Joísa de S. Oliveira;Walter Cunto;Nívio Ziviani

  • Affiliations:
  • Universidade Federal do Rio de Janeiro, Instituto de Matemática, NCE and COPPE, Caixa Postal 2324, 20001-970 Rio de Janeiro, RJ, Brazil;Departmento de Ciencias de la Computación, Universidad de Chile, Blanco Encalada 2120, Santiago, Chile;Departmento de Ciencias de la Computación, Universidad de Chile, Blanco Encalada 2120, Santiago, Chile;Universidade Federal do Rio de Janeiro, COPPE, Caixa Postal 68511, 21945-970 Rio de Janeiro, RJ, Brazil;Depto. de Computación, Universidad Simón Bolivar, Apartado 89000, Caracas, Venezuela;Universidade Federal de Minas Gerais, Departamento de Ciência da Computação, 31270-010 Belo Horizonte, MG, Brazil

  • Venue:
  • Theoretical Computer Science
  • Year:
  • 2003

Quantified Score

Hi-index 5.23

Visualization

Abstract

We describe algorithms for constructing optimal binary search trees, in which the access cost of a key depends on the k preceding keys which were reached in the path to it. This problem has applications to searching on secondary memory and robotics. Two kinds of optimal trees are considered, namely optimal worst case trees and weighted average case trees. The time and space complexities of both algorithms are O(nk+2) and O(nk+1), respectively. The algorithms are based on a convenient decomposition and characterizations of sequences of keys which are paths of special kinds in binary search trees. Finally, using generating functions, we present an exact analysis of the number of steps performed by the algorithms.