BST Pre Order Traversal

BST Construction is covered here.

Sample tree:

           5
        /     \
       2       9
    /     \      \
    1     3       10

Pre Order traversal

The root element will come first, then the left child, then the right child.

[5, 2, 1, 3, 9, 10]

Recursive solution:

var traversal = []

function preorder(root) {
  if (root == null) return

  traversal.push(root.val)
  preorder(root.left)
  preorder(root.right)
}

Iterative solution:

Depth first search, using a stack.

var traversal = []

var stack = []
stack.push(root)

while (stack.length != 0) {
  var node = stack.pop()

  traversal.push(node.val)

  if (root.right) stack.push(root.right)
  if (root.left) stack.push(root.left)
}

Other BST traversals:


Written by Gagandeep Rangi who likes to talk about himself in third person. Twitter Instagram