package dataStucture;
/**
* 树的节点类。这里是简单创建一个二叉树
* @author lxt
*
*/
public class BitTree {
int data;
/**
*左树指针
*/
BitTree lchild;
/**
* 右树指针
*/
BitTree rchild;
public BitTree(int data) {
super();
this.data = data;
}
/**
* 先序遍历,访问根,再先序遍历左子树,先序遍历右子树
* @param root
*/
public static void preOrder(BitTree root){
if(root==null) return ;
else {
System.out.printf("%7d",root.data);
preOrder(root.lchild);
preOrder(root.rchild);
}
}
/**
* 二叉树的中序遍历,先中序遍历左子树,再访问根,再中序遍历右子树
* @param root
*/
public static void inOrder(BitTree root){
if(root==null) return ;
else {
inOrder(root.lchild);
System.out.printf("%7d",root.data);
inOrder(root.rchild);
}
}
/**
* 后序遍历。
* 先后序遍历左子树,后序遍历右子树,最后访问根节点。
* @param root
*/
public static void postOrder(BitTree root){
if(root==null) return ;
else {
inOrder(root.lchild);
System.out.printf("%7d",root.data);
inOrder(root.rchild);
}
}
}
package dataStucture;
/**
* 树的节点类。这里是简单创建一个二叉树
* @author lxt
*
*/
public class TestBitTree {
public static void main(String[] args) {
BitTree root=new BitTree(1);
root.lchild=new BitTree(2);
root.rchild=new BitTree(3);
root.lchild.lchild=new BitTree(4);
root.lchild.rchild=new BitTree(5);
root.rchild.lchild=new BitTree(6);
root.rchild.rchild=new BitTree(7);
BitTree.preOrder(root);
System.out.println();
BitTree.inOrder(root);
System.out.println();
BitTree.postOrder(root);
}
}
分享到:
相关推荐
三叉树多叉树遍历 c# 2.0
遍历目录树 遍历目录树 遍历目录树 遍历目录树
基于Python的多叉树遍历算法
实现文件树遍历程序myfind,参照UNIX环境高级编程中的例子
建立一棵二叉链表树,分别输出此先根、中根和后根遍历序列 将上题编程,实现哈夫曼树的构建和哈夫曼编码的设计
CTreeCtrl目录树遍历,提供了两种遍历目录树的方式,循环,递归。
VFP中TREE树遍历 无限制目录树
无线Mesh网络的网络结构导致了无线Mesh网络具有更多的安全隐患。其中数据完整性校验是...在研究的基础上,提出了一种改进的Merkle可信树遍历算法,并将改进后的Merkle可信树应用于无线Mesh网络的数据完整性校验机制。
树遍历.cpp
多叉树的遍历,可以打印出树形结构,也可以只打印叶节点,或打印指定层的节点(一位德国教授写的文章)可以按照文章中给的网址下载源代码,
C++用递归算法实现二叉树的前序、中序、后序遍历,用队列实现层次遍历
以Underscore / Lodash方式编写的树遍历库。 独立或作为Lodash mixin扩展 安装 在浏览器中 在Lodash之后加载,然后将lodash实例传递给deepdash函数: < script src =" ...
java多叉树的实现:节点集合生成多叉树,单个节点添加到多叉树,深度遍历,广度遍历
排序、二分法查找、树遍历等常见算法实现python语言实现 常见数据结构 顺序表 Python中的list和tuple两种类型采用了顺序表的实现技术 链表 单向链表 双向链表 单向循环链表 栈 队列 FIFO队列 LIFO队列 优先队列...
jquery遍历节点树jquery遍历节点树jquery遍历节点树
C++用非递归算法(用栈实现前序、中序、后序遍历;用队列实现层次遍历)实现二叉树的遍历。
一个MFC的程序,他能够实现将指定目录下的目录树绘制起来。
尝试设计翻译方法。假定对程序片段已得到语法树,如 if (a > b) b = a; 已得到语法树 编写程序,遍历语法树,执行代码,得到正确结果。
非递归前序,中序,后序遍历二叉树(优化算法)