Skip to main content
added 302 characters in body; edited tags; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Java program for Creating a Binary Search Tree in Java

I am here for reviewing my code with programming techies. Please give me some feedback on how I could make it better or simpler.

public class BinarySearchTree {

public class BinarySearchTree {

    private static TreeNode root;

    public static void main(String args[]) {
        BinarySearchTree bst = new BinarySearchTree();
        root = bst.addItem(root, 10);
        bst.addItem(root, 2);
        bst.addItem(root, 6);
        bst.addItem(root, 3);
        bst.addItem(root, 1);
        bst.addItem(root, 15);
        bst.addItem(root, 12);
        bst.addItem(root, 16);
        
        System.out.println("** Print BST PRE ORDER **");

        bst.printPreOrderTree(root);
        
        System.out.println("** Print BST IN ORDER **");
        
        bst.printInOrderTree(root);
        
        System.out.println("** Print BST POST ORDER **");
        
        bst.printPostOrderTree(root);
    }

    private TreeNode addItem(TreeNode root, int item) {
        if (root == null) {
            root = new TreeNode(null, item, null);
            return root;
        } else {
            if (item < root.element) {
                if (root.left == null) {
                    TreeNode node = addItem(root.left, item);
                    root.left = node;
                } else {
                    addItem(root.left, item);
                }
            } else if (item > root.element) {
                if (root.right == null) {
                    TreeNode node = addItem(root.right, item);
                    root.right = node;
                } else {
                    addItem(root.right, item);
                }
            } else {
                System.out.println("Duplicate Item");
            }
        }
        return root;
    }

    private void printPreOrderTree(TreeNode root) {
        if (root != null) {
            System.out.println(root.element);
            printPreOrderTree(root.left);
            printPreOrderTree(root.right);
        }
    }

    private void printInOrderTree(TreeNode root) {
        if (root != null) {
            printInOrderTree(root.left);
            System.out.println(root.element);
            printInOrderTree(root.right);
        }
    }

    private void printPostOrderTree(TreeNode root) {
        if (root != null) {
            printPostOrderTree(root.left);
            printPostOrderTree(root.right);
            System.out.println(root.element);
        }
    }

    private static class TreeNode {
        TreeNode left;
        int element;
        TreeNode right;

        protected TreeNode(TreeNode left, int element, TreeNode right) {
            this.left = left;
            this.element = element;
            this.right = right;
        }
    }
}

}

Java program for Creating a Binary Search Tree

I am here for reviewing my code with programming techies. Please give me some feedback on how I could make it better or simpler.

public class BinarySearchTree {

private static TreeNode root;

public static void main(String args[]) {
    BinarySearchTree bst = new BinarySearchTree();
    root = bst.addItem(root, 10);
    bst.addItem(root, 2);
    bst.addItem(root, 6);
    bst.addItem(root, 3);
    bst.addItem(root, 1);
    bst.addItem(root, 15);
    bst.addItem(root, 12);
    bst.addItem(root, 16);
    
    System.out.println("** Print BST PRE ORDER **");

    bst.printPreOrderTree(root);
    
    System.out.println("** Print BST IN ORDER **");
    
    bst.printInOrderTree(root);
    
    System.out.println("** Print BST POST ORDER **");
    
    bst.printPostOrderTree(root);
}

private TreeNode addItem(TreeNode root, int item) {
    if (root == null) {
        root = new TreeNode(null, item, null);
        return root;
    } else {
        if (item < root.element) {
            if (root.left == null) {
                TreeNode node = addItem(root.left, item);
                root.left = node;
            } else {
                addItem(root.left, item);
            }
        } else if (item > root.element) {
            if (root.right == null) {
                TreeNode node = addItem(root.right, item);
                root.right = node;
            } else {
                addItem(root.right, item);
            }
        } else {
            System.out.println("Duplicate Item");
        }
    }
    return root;
}

private void printPreOrderTree(TreeNode root) {
    if (root != null) {
        System.out.println(root.element);
        printPreOrderTree(root.left);
        printPreOrderTree(root.right);
    }
}

private void printInOrderTree(TreeNode root) {
    if (root != null) {
        printInOrderTree(root.left);
        System.out.println(root.element);
        printInOrderTree(root.right);
    }
}

private void printPostOrderTree(TreeNode root) {
    if (root != null) {
        printPostOrderTree(root.left);
        printPostOrderTree(root.right);
        System.out.println(root.element);
    }
}

private static class TreeNode {
    TreeNode left;
    int element;
    TreeNode right;

    protected TreeNode(TreeNode left, int element, TreeNode right) {
        this.left = left;
        this.element = element;
        this.right = right;
    }
}

}

Binary Search Tree in Java

Please give me some feedback on how I could make it better or simpler.

public class BinarySearchTree {

    private static TreeNode root;

    public static void main(String args[]) {
        BinarySearchTree bst = new BinarySearchTree();
        root = bst.addItem(root, 10);
        bst.addItem(root, 2);
        bst.addItem(root, 6);
        bst.addItem(root, 3);
        bst.addItem(root, 1);
        bst.addItem(root, 15);
        bst.addItem(root, 12);
        bst.addItem(root, 16);
        
        System.out.println("** Print BST PRE ORDER **");

        bst.printPreOrderTree(root);
        
        System.out.println("** Print BST IN ORDER **");
        
        bst.printInOrderTree(root);
        
        System.out.println("** Print BST POST ORDER **");
        
        bst.printPostOrderTree(root);
    }

    private TreeNode addItem(TreeNode root, int item) {
        if (root == null) {
            root = new TreeNode(null, item, null);
            return root;
        } else {
            if (item < root.element) {
                if (root.left == null) {
                    TreeNode node = addItem(root.left, item);
                    root.left = node;
                } else {
                    addItem(root.left, item);
                }
            } else if (item > root.element) {
                if (root.right == null) {
                    TreeNode node = addItem(root.right, item);
                    root.right = node;
                } else {
                    addItem(root.right, item);
                }
            } else {
                System.out.println("Duplicate Item");
            }
        }
        return root;
    }

    private void printPreOrderTree(TreeNode root) {
        if (root != null) {
            System.out.println(root.element);
            printPreOrderTree(root.left);
            printPreOrderTree(root.right);
        }
    }

    private void printInOrderTree(TreeNode root) {
        if (root != null) {
            printInOrderTree(root.left);
            System.out.println(root.element);
            printInOrderTree(root.right);
        }
    }

    private void printPostOrderTree(TreeNode root) {
        if (root != null) {
            printPostOrderTree(root.left);
            printPostOrderTree(root.right);
            System.out.println(root.element);
        }
    }

    private static class TreeNode {
        TreeNode left;
        int element;
        TreeNode right;

        protected TreeNode(TreeNode left, int element, TreeNode right) {
            this.left = left;
            this.element = element;
            this.right = right;
        }
    }
}
Source Link
Bagesh Sharma
  • 215
  • 1
  • 3
  • 8

Java program for Creating a Binary Search Tree

I am here for reviewing my code with programming techies. Please give me some feedback on how I could make it better or simpler.

public class BinarySearchTree {

private static TreeNode root;

public static void main(String args[]) {
    BinarySearchTree bst = new BinarySearchTree();
    root = bst.addItem(root, 10);
    bst.addItem(root, 2);
    bst.addItem(root, 6);
    bst.addItem(root, 3);
    bst.addItem(root, 1);
    bst.addItem(root, 15);
    bst.addItem(root, 12);
    bst.addItem(root, 16);
    
    System.out.println("** Print BST PRE ORDER **");

    bst.printPreOrderTree(root);
    
    System.out.println("** Print BST IN ORDER **");
    
    bst.printInOrderTree(root);
    
    System.out.println("** Print BST POST ORDER **");
    
    bst.printPostOrderTree(root);
}

private TreeNode addItem(TreeNode root, int item) {
    if (root == null) {
        root = new TreeNode(null, item, null);
        return root;
    } else {
        if (item < root.element) {
            if (root.left == null) {
                TreeNode node = addItem(root.left, item);
                root.left = node;
            } else {
                addItem(root.left, item);
            }
        } else if (item > root.element) {
            if (root.right == null) {
                TreeNode node = addItem(root.right, item);
                root.right = node;
            } else {
                addItem(root.right, item);
            }
        } else {
            System.out.println("Duplicate Item");
        }
    }
    return root;
}

private void printPreOrderTree(TreeNode root) {
    if (root != null) {
        System.out.println(root.element);
        printPreOrderTree(root.left);
        printPreOrderTree(root.right);
    }
}

private void printInOrderTree(TreeNode root) {
    if (root != null) {
        printInOrderTree(root.left);
        System.out.println(root.element);
        printInOrderTree(root.right);
    }
}

private void printPostOrderTree(TreeNode root) {
    if (root != null) {
        printPostOrderTree(root.left);
        printPostOrderTree(root.right);
        System.out.println(root.element);
    }
}

private static class TreeNode {
    TreeNode left;
    int element;
    TreeNode right;

    protected TreeNode(TreeNode left, int element, TreeNode right) {
        this.left = left;
        this.element = element;
        this.right = right;
    }
}

}