二叉树相关

二叉树

  1. 二叉树是树的一种,每个节点最多只能有两个子节点。左子树右子树。(左孩子,右孩子)。
  2. 二叉树的建立:
    创建节点
package tree;

public class NodeTree {
	//定义数据域
	int data;
	//定义左子树
	NodeTree leftChild;
	//定义右子树
	NodeTree rightChild;
	
	public NodeTree(int data) {
		data = -1;
		leftChild = null;
		rightChild = null;
	}



	public int getData() {
		return data;
	}

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

	public NodeTree getLeftChild() {
		return leftChild;
	}

	public void setLeftChild(NodeTree leftChild) {
		this.leftChild = leftChild;
	}

	public NodeTree getRightChild() {
		return rightChild;
	}

	public void setRightChild(NodeTree rightChild) {
		this.rightChild = rightChild;
	}

//小于根节点放左边
	public void addNode(NodeTree newNode,int data) {
		//newnode 为要新添加的的节点,data为要新添加的节点的值
		if(this.data>newNode.data) {   //this.data 为此时根节点的值
			if(this.leftChild==null) {
				this.leftChild=newNode;
			}else {
				this.leftChild.addNode(newNode, data);
			}
		}
		//大于根节点放右边
		if(this.data<=newNode.data) {
			if(this.rightChild==null) {
				this.rightChild=newNode;
			}else {
				this.rightChild.addNode(newNode, data);
			}
		}
	}

}

这里插入代码片

创建树

package tree;

public class BinTree {
	//根节点
	NodeTree root;
	
	public void add(int data) {
	//调用节点类
		NodeTree newTree = new NodeTree(data);
		if(root ==null) {
			this.root = newTree;
		}else {
			this.root.addNode(newTree, data);
		}
		
	}
	
}


3.4种顺序
前排序,中排序,后排序(根左右,左根右,左右根),还有层排序。
需要掌握4种排序和根据前中,和后中两种排序恢复原树。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值