Depth-first Search
It is a search algorithm for traversal the tree data structure. There are three types of Depth Search to collect each values of tree.
Preorder
This type of traversal will collect the node value as long as we execute the node
function preOrderDepthTraversal(node, array){
if (!node){
return array
}
array.push(node.value)
preOrderDepthTraversal(node.left, array)
preOrderDepthTraversal(node.right, array)
return array
}
Inorder
This type of traversal will collect the node value from the left button up and right. The final array will in order from smallest to largest.
function preOrderDepthTraversal(node, array){
if (!node){
return array
}
preOrderDepthTraversal(node.left, array)
array.push(node.value)
preOrderDepthTraversal(node.right, array)
return array
}
Postorder
This type of traversal will collect the children from the left and then go up.
function preOrderDepthTraversal(node, array){
if (!node){
return array
}
preOrderDepthTraversal(node.left, array)
preOrderDepthTraversal(node.right, array)
array.push(node.value)
return array
}