Skip to content

Instantly share code, notes, and snippets.

@annibuliful
Created April 9, 2018 07:12
Show Gist options
  • Select an option

  • Save annibuliful/9de784aed4b3e3fb69d28819bdc9d8a1 to your computer and use it in GitHub Desktop.

Select an option

Save annibuliful/9de784aed4b3e3fb69d28819bdc9d8a1 to your computer and use it in GitHub Desktop.
public class FullBinaryTreeTester {
public static void inOrderTraverse(Node root)
{
//YOUR CODE GOES HERE
if (root == null){
return;
}
if(root.left != null){
inOrderTraverse(root.left);
}
System.out.print(root.id + " ");
if(root.right != null){
inOrderTraverse(root.right);
}
}
public static boolean isFullBinTree(Node root)
{ //YOUR CODE GOES HERE
if(root == null){
return true;
}
if(root.left == null && root.right == null){
return true;
}
if(root.left != null && root.right != null){
return isFullBinTree(root.left) && isFullBinTree(root.right);
}
return false;
}
public static void normalTester()
{
Node[] ts = new Node[7];
int count = 0;
ts[count++] = null;
ts[count++] = new Node(16, null, null);
ts[count++] = new Node(16, new Node(14, null, null), null);
ts[count++] = new Node(1, new Node(3, new Node(6, null, null), new Node(7, null, null)),
new Node(4, new Node(8, null, null), new Node(10, null, null)));
ts[count++] = new Node(1, new Node(3, null, null),
new Node(4, new Node(8, null, null), new Node(10, null, null)));
ts[count++] = new Node(1, new Node(3, new Node(6, null, null), null),
new Node(4, new Node(8, null, null), new Node(10, null, null)));
ts[count++] = new Node(1, new Node(3, new Node(6, null, null), new Node(7, null, null)),
null);
for(int i = 0; i < ts.length; i++)
{
System.out.print("[T"+i+"] in-order: ");
inOrderTraverse(ts[i]);
System.out.println("\n[T"+i+"] is"+(isFullBinTree(ts[i])?" ":" NOT ")+"a full binary tree.\n");
}
}
/**************BONUS STARTS***************/
public static void printBinTree(Node root)
{ //YOUR BONUS CODE GOES HERE
}
public static Node getBinSearchTree(Node root)
{ //YOUR BONUS CODE GOES HERE
return null;
}
public static void bonusTester()
{
Node t = new Node(1, new Node(3, new Node(6, null, null), new Node(7, null, null)),
new Node(4, new Node(8, null, null), new Node(10, null, null)));
System.out.println("Before Transforming: ");
printBinTree(t);
System.out.println("After Transforming: ");
getBinSearchTree(getBinSearchTree(t));
}
/**************BONUS ENDS***************/
public static void main(String[] args)
{
normalTester();
//Uncomment for bonus
//bonusTester();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment