Learn-dsa..in 30 days!



























CC-11 : Traverse Binary Tree via Pre-order using recursion.

Description:

As part of Pre-order all nodes are iteratively/ recursively traversed in order of parent node, left node, right node. Given an input Binary Tree, traverse the tree in Pre-order using recursion.

Test cases and expected outputs:

Input Parameters Expected outputs

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

Pseudocode:

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

Method preOrderRecursive(parentNode):

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


Code:

public class BinTreePreOrderRecursive {

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

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

Click here to download and run code and test cases !