Balancing binary trees by internal path reduction

  • Authors:
  • Gaston H. Gonnet

  • Affiliations:
  • Univ. of Waterloo, Waterloo, Ont., Canada

  • Venue:
  • Communications of the ACM
  • Year:
  • 1983

Quantified Score

Hi-index 48.23

Visualization

Abstract

We present an algorithm for balancing binary search trees. In this algorithm single or double rotations are performed when they decrease the internal path of the total tree. It is shown that the worst internal path on such trees is never more than 5 percent worse than optimal and that its height is never more than 44 percent taller than optimal. This compares favorably with the AVL trees whose internal path may be 28 percent worse than optimal and the same 44 percent worst height, and with the weight-balanced trees which may be 15 and 100 percent worse than optimal, respectively. On the other hand, the number of rotations during a single insertion/deletion can be O(n), although the amortized worst-case number of rotations is O(log n) per update.