Preorder traversal
- Visit root node
- Then go to all the nodes in the left subtree
- Visit all the nodes in the right subtree
When to use? You can use pre-order traversal to create a copy of the tree, since you can access each node before its subtrees. It's also used to get expressions on an expression tree.
SNIPPET
1display(root.data)
2preorder(root.left)
3preorder(root.right)
Note: This algorithm is equivalent to the famous graph algorithm Depth First Search (DFS).
xxxxxxxxxx27
function preorderTraversal(root) { let res = []; helper(root, res); return res;}​function helper(root, res) { if (!root) { return res; } res.push(root.val); helper(root.left, res); helper(root.right, res); return res;}​const root = { val: 1, left: { val: 2 }, right: { val: 3 }};​console.log(preorderTraversal(root));OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

