Back

Trees (concept)

A tree is a structure of nodes where each node can have children, starting from one root. The HTML DOM and your file system are both trees. In a binary search tree, smaller values go left and bigger values go right, which makes searching fast.

class TreeNode {
  left: TreeNode | null = null
  right: TreeNode | null = null
  constructor(public value: number) {}
}

//       8
//      / \
//     3   10
const root = new TreeNode(8)
root.left = new TreeNode(3)
root.right = new TreeNode(10)

// Visit every node (depth-first)
function printTree(node: TreeNode | null) {
  if (!node) return
  printTree(node.left)
  console.log(node.value)  // 3, 8, 10 (sorted!)
  printTree(node.right)
}

Roadmap