java实现二叉树以及实例

这篇博客主要介绍了如何在Java中定义和创建二叉树,包括先序创建二叉树的方法,并详细讲解了二叉树的先序、中序和后序遍历算法的实现。此外,还提供了实验步骤和相关的代码示例。
摘要由CSDN通过智能技术生成

二叉树的设计与遍历

目的和要求:

1正确定义二叉树结点

2)掌握定义二叉树的方法

3)掌握采用先序创建二叉树的方法

4)掌握二叉树的先序、中序和后序遍历算法

实验原理及内容:

1)二叉树的定义;

2)采用先序创建二叉树

3)二叉树的先序、中序和后序遍历算法实现

实验步骤:

1)二叉树的定义;

2)采用先序创建二叉树

3)二叉树的先序、中序和后序遍历算法实现

 

实验过程:

(一)实训说明

本实训给出了二叉树方法集合,即接口,同时提供了二叉树结点的定义,对于二叉树,提供了先序创建二叉树的方法,通过调用该方法,即可创建二叉树。

要求完成二叉树的先序、中序和后序遍历算法。

  

         第二个代码纯属转载,注转载地址如下:    

                   http://www.cnblogs.com/CherishFX/p/4617105.html 


再注

      第一个为学习代码,测试的添加的图形为下面的二叉树。此为按图添加。

      第二个为使用代码,添加的图形可以任意。


第一个代码测试类添加的固定代码如下:

      

第一个学习代码如下:

1)二叉树结点定义

	/*
	 * 二叉树结点定义
	 */
	public class TreeNode<E> {
		// 属性
		private E data; // 结点元素值
		private TreeNode<E> lchild; // 左孩子结点
		private TreeNode<E> rchild; // 右孩子结点
		// get和set方法

		public E getData() {
			return data;
		}

		public void setData(E data) {
			this.data = data;
		}

		public TreeNode<E> getLchild() {
			return lchild;
		}

		public void setLchild(TreeNode<E> lchild) {
			this.lchild = lchild;
		}

		public TreeNode<E> getRchild() {
			return rchild;
		}

		public void setRchild(TreeNode<E> rchild) {
			this.rchild = rchild;
		}

		// 构造方法,三个参数
		public TreeNode(E data, TreeNode<E> lchild, TreeNode<E> rchild) {
			this.data = data;
			this.lchild = lchild;
			this.rchild = rchild;
		}

		// 构造方法,三个参数
		public TreeNode(E data) {
			this.data = data;
			this.lchild = this.rchild = null;
		}

		// 构造方法,无参数
		public TreeNode() {
			this(null);
		}
	}

}

(2)二叉树的操作接口定义

public interface IBiTree<E> {
	void create(E val, TreeNode<E>l, TreeNode<E> r);	//以val为根节点元素,l和r为左右子树构造二叉树
	void insertL(E val, TreeNode<E> p);			//将元素插入p的左子树
	void insertR(E val, TreeNode<E> p);			//将
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值