博客
关于我
二叉排序树的创建和遍历
阅读量:303 次
发布时间: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/

你可能感兴趣的文章
nginx负载均衡器处理session共享的几种方法(转)
查看>>
nginx负载均衡的5种策略
查看>>
nginx负载均衡的5种策略(转载)
查看>>
nginx负载均衡的五种算法
查看>>
Nginx负载均衡(upstream)
查看>>
nginx转发端口时与导致websocket不生效
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx部署_mysql代理_redis代理_phoenix代理_xxljob代理_websocket代理_Nacos代理_内网穿透代理_多系统转发---记录021_大数据工作笔记0181
查看>>
Nginx配置HTTPS服务
查看>>
Nginx配置Https证书
查看>>
Nginx配置http跳转https
查看>>
Nginx配置ssl实现https
查看>>
nginx配置ssl证书https解决公网ip可以访问但是域名不行的问题
查看>>
Nginx配置TCP代理指南
查看>>
NGINX配置TCP连接双向SSL
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
查看>>
nginx配置中的服务器名称
查看>>
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
nginx配置全解
查看>>