Tree rebalancing in optimal time and space

  • Authors:
  • Q. F Stout;B. L Warren

  • Affiliations:
  • Univ. of Michigan, Ann Arbor;Eastern Michigan Univ., Ypsilanti

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

Quantified Score

Hi-index 48.24

Visualization

Abstract

A simple algorithm is given which takes an arbitrary binary search tree and rebalances it to form another of optimal shape, using time linear in the number of nodes and only a constant amount of space (beyond that used to store the initial tree). This algorithm is therefore optimal in its use of both time and space. Previous algorithms were optimal in at most one of these two measures, or were not applicable to all binary search trees. When the nodes of the tree are stored in an array, a simple addition to this algorithm results in the nodes being stored in sorted order in the initial portion of the array, again using linear time and constant space.