用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,不足之处,欢迎各位大神批评指正。

                  


                             

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值