• 数据结构之二叉树篇卷二 -- 二叉树递归遍历(With Java)


    一、先序递归遍历(Preorder Recursive Traversal)

    1.1 算法

      首先需要明确的是这里的序是针对 root 节点而言的。故先序即先“访问”根节点,其次“访问”其左右节点。

    1.2 图示

    1.3 代码

      Talk is cheap, show me the code!    -- Linus Benedict Torvalds

    1     public void preOrder(Node<E> root){
    2         if(root != null) {
    3             System.out.print(root.data);
    4             System.out.print('	');
    5             preOrder(root.lnode);
    6             preOrder(root.rnode);
    7         }
    8     }

    二、中序递归遍历(Inorder Recursive Traversal)

    2.1 算法

      从根节点 root 出发,先“访问”左子树(Left Subtree),当左子树的每个节点都“访问”完后,才访问根节点,最后“访问”右子树(Right Subtree)。

    2.2 图示

    2.3 代码

     1  public void inOrder(Node<E> root){
     2         if(root != null) {
     3             //track to the deepest left branch
     4             inOrder(root.lnode);
     5             //visit the root node
     6             System.out.print(root.data);
     7             System.out.print('	');
     8             inOrder(root.rnode);
     9         }
    10     }

     

    三、后序递归遍历(Postorder Recursive Traversal)

    3.1 算法

      根节点是最后“访问”的,不管是在根节点所在的整棵树,还是根节点以下的子树都是先“访问”左子树中的节点,其次是右子树中节点,最后“访问”根节点。

    3.2 图示

    3.3 代码

     1     public void postOrder(Node<E> root){
     2         if(root != null) {
     3             //track to the deepest left branch
     4             postOrder(root.lnode);
     5             //track to the deepest right branch
     6             postOrder(root.rnode);
     7             //after visiting all the nodes of both left subtree and right subtree
     8             System.out.print(root.data);
     9             System.out.print('	');
    10         }
    11     }

    注意:层次遍历不能递归,可以结合递归条件想想为什么哦 :)

    keep reading ,keep learning, keep coding…

  • 相关阅读:
    动态代理方案性能对比(转载)
    Java类的初始化
    第78天:jQuery事件总结(一)
    第77天:jQuery事件绑定触发
    第76天:jQuery中的宽高
    第75天:jQuery中DOM操作
    第74天:jQuery实现图片导航效果
    第73天:jQuery基本动画总结
    第72天:jQuery实现下拉菜单
    第71天:jQuery基本选择器(二)
  • 原文地址:https://www.cnblogs.com/sheepcore/p/11580677.html
Copyright © 2020-2023  润新知