第5章 树与二叉树

Posted BlueMonds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第5章 树与二叉树相关的知识,希望对你有一定的参考价值。

    1. 递归算法与非递归算法实现二叉树的遍历 ---- NOT BUG FREE

技术分享
 1 public class BiTree{
 2     private BiTreeNode root;
 3     public BiTree(){
 4         this.root = null;
 5     }
 6     public BiTree(BiTreeNode root){
 7         this.root = root
 8     }
 9     //遍历法
10     public void preRootTraverse(BiTreeNode T){
11         if(T != null){
12             System.out.printIn(T.data);
13             preRootTraverse(T.lchild);
14             preRootTraverse(T.rchild);
15         }
16     }
17     //非遍历法**创建栈对象,根节点入栈;栈非空时,栈顶弹出并访问结点;
18     //对当前访问结点的非空左孩子结点相继依次访问,并将当前访问结点的非空右孩子结点压入栈内。
19     //循环执行,直到栈空。
20     public void preRootTraverse(){
21         BiTreeNode T = root;
22         if(T != null){
23             LinkStack s = new LinkStack();
24             s.push(T);
25             while(!s.isEmpty){
26                 T = (BiTreeNode)s.pop();
27                 System.out.print(T.data);
28                 /*while(T.lchild != null){
29                     T = T.lchild;
30                     System.out.print(T.data);
31                     if(T.rchild != null){
32                         s.push(T.rchild)
33                     }
34                 }*/
35                 while(T != null){
36                     if(T.lchild != null){
37                         System.out.print(T.lchild.data);
38                     }
39                     if(T.rchild != null){
40                         s.push(T.rchild);
41                     }
42                     T = T.lchild;
43                 }
44             }
45         }
46     }
47 }
View Code

 

以上是关于第5章 树与二叉树的主要内容,如果未能解决你的问题,请参考以下文章

数据结构-王道2017-第4章 树与二叉树-树森林

王道数据结构5(树与二叉树)

王道数据结构5(树与二叉树)

树与二叉树数据结构详解

考研数据结构与算法树与二叉树

编程题----树与二叉树