Practice Discrete Math

Algorithms / Tree Height Balance

Least You Need to Know: Tree Height, Balance, and Diameter Intuition

Bottom-up tree questions ask each subtree to return a small summary such as its height, whether it is balanced, or the best path seen so far. The key interview move is to decide what summary the parent needs from each child.

The least you need to know

Key notation

height(v) length of the longest downward path from node v
diameter length of the longest path between any two tree nodes
balanced every node has child heights differing by at most one

Tiny worked example

  • To compute whether a binary tree is balanced, first ask each child subtree for its height.
  • At the parent, compare the left and right heights.
  • The parent is locally balanced when the difference is at most one and both child subtrees were balanced.
  • That is a classic example of returning a small summary upward from each recursive call.

Common mistakes

How to recognize this kind of problem

Start practice