1. 程式人生 > >用java程式碼實現二叉樹的遍歷演算法

用java程式碼實現二叉樹的遍歷演算法

              二叉樹的遍歷可以採用遞迴演算法來實現,遍歷方式有三種:先序遍歷,中序遍歷,後序遍歷。

   下面是一個例子:

                     public   class   BinTree{

                            char data;             //根節點資料

                             BinTree  left;       //左子樹

                             BinTree  right;    //右字樹

                      public       Bintree(char    data)                      //例項化二叉樹類

                      {

                                   this.data=data;

                                  left=null;

                                  right=null;

                      }

                      public      static            void             preOrder(BinTree root)           {           //先根遍歷

                                  if(root!=null)   {

                                         System.out.print(root..data+"-");

                                         preOrder(root.left);

                                        preOrder(root.right);

                                  }

                     }

                     public static   void     inOrder(BinTree  root) {                //中根遍歷

                            if(root!=null){

                                     inOrder(root.left);

                                     System.out.print(root.data+"-----");

                                     inOrder(root.right);

                            }

                  }

                  public    static     void      postOrder(BinTree   root){              //後根遍歷

                            if(root!=null) {

                                       postOrder(root.left);

                                       postOrder(root.right);

                                       System.out.print(root.data+"-----");

                           }

                }

               public    static    void    main(String[ ]    str)   {

                        BinTree   root  =new    BinTree('A');         //建立二叉樹

                        root.left = new BinTree('B');

                        root.right=new  BinTree('C') ;

                       BinTree   b=root.left;

                      b.left  =new  BinTree('D');

                     BinTree    c=root.right;

                    c.left  =new  BinTree('E');

                    c.right=new  BinTree('F');

                    System.out.println("先根遍歷:");

                    preOrder(root);

                   System.out.println ();

                    System.out.println("中根遍歷:");

                    inOrder(root);

                   System.out.println();

                   System.out.println("後根遍歷:");

                   postOrder(root);

        }

}

    這是個簡單的例子,本人還是個菜鳥,正在學java,不足之處,歡迎各位大神批評指正。