הכנסה לעץ ממוין + סריקות (תוכית, תחילית וסופית)

הכנסה לעץ ממוין

public static void insertIntoSortedTree(BinNode<Integer> root,int num) {

           

      if (num < root.getValue()) {

            if (!root.hasLeft()) {

                  BinNode<Integer> child = new BinNode<Integer> (num);

                  root.setLeft(child);

            }

            else {

                  insertIntoSortedTree(root.getLeft(),num);

            }

      }

      else { // num => root.getValue()

            if (!root.hasRight()) {

                  BinNode<Integer> child = new BinNode<Integer> (num);

                  root.setRight(child);

            }

            else {

                  insertIntoSortedTree(root.getRight(),num);

            }

      }

}

 

סריקה תוכית

public static <T> void inOrder(BinNode<T> root) {

     if (root == null)

          return;

     inOrder(root.getLeft());

     System.out.print(root.getValue() + ",");

     inOrder(root.getRight());

}

סריקה תחילית

public static <T> void preOrder(BinNode<T> root) {

     if (root == null)

          return;      

     System.out.print(root.getValue() + ",");

     preOrder(root.getLeft());

     preOrder(root.getRight());

}

סריקה סופית

public static <T> void postOrder(BinNode<T> root) {

     if (root == null)

          return;                

     postOrder(root.getLeft());

     postOrder(root.getRight());

     System.out.print(root.getValue() + ",");

}