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 !
| About Us | Privacy Policy | Contact us |