博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉排序树的创建和遍历
阅读量:302 次
发布时间:2019-03-03

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

创建节点

class Node{	int value;	Node left;	Node right;	public Node(int value) {		super();		this.value = value;	}			@Override	public String toString() {		return "Node [value=" + value + "]";	}	}

添加方法 遍历方法

//添加节点 递归添加 需要满足二叉排序树	public void add(Node node) {		if(node == null) {			return;}		//判断传入节点 和当前子树的根节点的关系		if(node.value < this.value) {			if(this.left == null) {				//如果当前节点的左子节点为空				this.left = node;			}else {				//如果不为空 向左子节点递归				this.left.add(node);			}		}else {//添加的节点大于当前节点的值			if(this.right == null) {				this.right = node;			}else {				this.right.add(node);			}		}	}	//中序遍历	public void zhongxu() {		if(this.left != null) {			this.left.zhongxu();		}		System.out.println(this);		if(this.right != null) {			this.right.zhongxu();					}	}

二叉树

//创建二叉排序树class BinarySortTree2{	private Node root;	public void add(Node node) {		if(root == null) {			root = node;		}else {			root.add(node);		}	}	//中序遍历	public void zhongxu() {		if(root!=null) {			root.zhongxu();		}else {			System.out.println("kong");		}	}}

测试

int[] arr = {7,3,10,12,5,1,9};BinarySortTree2 binarySortTree2 = new BinarySortTree2();for(int i = 0;i < arr.length;i++) {	binarySortTree2.add(new Node(arr[i]));}		//中序遍历二叉排序树binarySortTree2.zhongxu();

转载地址:http://uihl.baihongyu.com/

你可能感兴趣的文章