Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BSTree {
- private TreeNode root;
- public BSTree(){
- root = null;
- }
- public void insert(Comparable obj){
- root = insert(root, obj);
- }
- private TreeNode insert (TreeNode node, Comparable obj){
- if (node == null)
- node = new TreeNode (obj, null, null);
- else{
- if (obj.compareTo(node.getValue()) < 0)
- node.setLeft(insert(node.getLeft(), obj));
- else node.setRight(insert(node.getRight(), obj));
- }
- return node;
- }
- public Object find(Comparable obj){
- Object found = find (root, obj);
- if (found == null)
- return null;
- else return found;
- }
- public Object find (TreeNode node, Comparable obj){
- if (node == null)
- return null;
- else if (obj.compareTo(node.getValue()) == 0)
- return node.getValue();
- else if (obj.compareTo(node.getValue()) < 0)
- return find (node.getLeft(), obj);
- else return find (node.getRight(), obj);
- }
- public void remove(){
- System.out.println("asdfkljaf");
- }
- public void inOrder(){
- inOrder(root);
- }
- private void inOrder(TreeNode node){
- if (node != null){
- inOrder(node.getLeft());
- System.out.println(node.getValue());
- inOrder(node.getRight());
- }
- }
- public int countNode(){
- return countNode(root);
- }
- private int countNode(TreeNode node){
- if (node == null)
- return 0;
- else return countNode(node.getLeft()) + 1 + countNode(node.getRight());
- }
- public void preOrder(){
- preOrder(root);
- }
- private void preOrder(TreeNode node){
- if (node != null){
- System.out.println(node.getValue());
- preOrder(node.getLeft());
- preOrder(node.getRight());
- }
- }
- public void postOrder(){
- postOrder(root);
- }
- private void postOrder(TreeNode node){
- if (node != null){
- postOrder(node.getLeft());
- postOrder(node.getRight());
- System.out.println(node.getValue());
- }
- }
- public int countLeaves(){
- return countLeaves(root);
- }
- private int countLeaves(TreeNode node){
- if (node == null)
- return 0;
- else if (node.getLeft() == null && node.getRight() == null)
- return 1;
- else return countLeaves(node.getLeft())+ 0 + countLeaves(node.getRight());
- }
- public int findHeight(){
- return findHeight(root);
- }
- private int findHeight(TreeNode node){
- if(node == null)
- return 0;
- else return Math.max(findHeight(node.getLeft()), findHeight(node.getRight())) + 1;
- }
- public int findWidth(){
- return findWidth(root);
- }
- private int findWidth(TreeNode node){
- if (node != null)
- return Math.max(Math.max(findWidth(node.getLeft()), findWidth(node.getRight())), (findHeight(node.getLeft()) + findHeight(node.getRight()) + 1));
- else return 0;
- }
- public void clearTree(){
- root = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment