Learn-dsa..in 30 days!



























CC-9 : Traverse Binary Tree via In-order/ Depth First traversal using recursion.

Description:

As part of In-order (also known as DepthFirst) all nodes are recursively traversed in order of left node, parent node, right node. Given an input Binary Tree, traverse the tree in In-order.

Test cases and expected outputs:

Input Parameters Expected outputs

InOrder traversal :
33, 6, 5, 78, 4, 8, 14, 9, 18 ,16, 7

Pseudocode:

Initialize an ArrayList to hold the result of the In-order traversal.

Method inOrderRecursive(parentNode)

If parentNode is null, return.
Call inOrderRecursive() with parent node’s left child as parameter.
Add parent node’s node data to In-order traversal ArrayList.
Call inOrderRecursive() with parent node’s right child as parameter.


Code:

public class BinTreeInOrderRecursive {

private ArrayList<Integer> inOrder=new ArrayList<Integer>();
public ArrayList<Integer> getPreOrder() {
	return inOrder;
}
public void setPreOrder(ArrayList<Integer> inOrder) {
	this.inOrder = inOrder;
}

public void inOrderRecursive(BinTreeNode parent) throws Exception{
	if (parent==null) {return;}
	inOrderRecursive(parent.getLeftChild());
	inOrder.add(parent.getNodeData());
	inOrderRecursive(parent.getRightChild());
}
}

Click here to download and run code and test cases !