博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java创建二叉树并递归遍历二叉树
阅读量:7093 次
发布时间:2019-06-28

本文共 996 字,大约阅读时间需要 3 分钟。

二叉树类代码:

package binarytree;import linkqueue.LinkQueue;public class BinaryTree {	class Node	{		public Object data;		public Node lchild;		public Node rchild;				public Node(Object data)		{			this.data = data;			this.lchild = null;			this.rchild = null;		}	}	//根节点	private Node root = null;	private Node node = null;	/**	 * 创建树	 * 	 * 以完全二叉树的格式来创建(子树不存在的用0填充),	 * 对完全二叉树中每一个节点从0开始进行编号,	 * 那么第i个节点的左孩子的编号为2*i+1,右孩子为2*i+2。	 * 	 * */	void createTree(String strtree)	{		LinkQueue lQueue = new LinkQueue();		lQueue.initQueue();		/**		 * 完全二叉树中第i层的结点的个数最多为第1到i-1层上所有节点的个数和		 * 所以父节点的个数最多为N-1个,N表示节点个数		 * */		for(int parentIndex =0; parentIndex

测试代码(以数据结构中表达式a+b*(c-d)-e/f为例):

package binarytree;public class BinaryTreeMain {	public static void main(String[] args) {		BinaryTree binaryTree = new BinaryTree();				String strtree="- + / a * e f 0 0 b - 0 0 0 0 0 0 0 0 0 0 c d";//0表示没有值的位置		binaryTree.createTree(strtree);				binaryTree.print();	}}

 运行结果:

转载于:https://www.cnblogs.com/lixiaolun/p/4658659.html

你可能感兴趣的文章
QT分析之网络编程
查看>>
工程和界面—Webstorm入门指南 Webstorm中的工程-备
查看>>
【数据结构】链表
查看>>
Bootstrap 按钮
查看>>
设计模式 外观模式 一键电影模式
查看>>
BeanFactory工厂
查看>>
原型模式--prototype
查看>>
【转】简单几步让App Store软件下载快如迅雷 -- 不错!!!
查看>>
C++多继承
查看>>
vim 如何编辑 GB2312 编码的文件?
查看>>
Ubuntu(基于Ubuntu)中常用的apt和dpkt命令
查看>>
过目不忘JS正则表达式
查看>>
一个屌丝程序猿的人生(三十一)
查看>>
Visual Studio 2015的Web扩展包
查看>>
MyBatis-Spring 使用总结
查看>>
[Angular 2] Understanding OpaqueToken
查看>>
MyEclipse安装EGit插件方法
查看>>
mobileControls与移动控件适配
查看>>
.Net消息队列的使用
查看>>
HTML5 WebAudioAPI-实例(二)
查看>>