Created
April 9, 2018 07:12
-
-
Save annibuliful/9de784aed4b3e3fb69d28819bdc9d8a1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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