文档章节

java 里关于二叉树排序的问题

K不是你的帝
 K不是你的帝
发布于 2014/05/10 13:26
字数 182
阅读 167
收藏 8

二叉树排序算法的实现

//节点类

public class Node {
	private Node left;
	private Node right;
	private int data;
	public Node(int data){
		this.data=data;
	}
	public void addNode(Node newNode){
		if(newNode.data<this.data){
			if(this.left==null){
				this.left=newNode;
			}else{
				this.left.addNode(newNode);
			}
		}
		if(newNode.data>=this.data){
			if(this.right==null){
				this.right=newNode;
			}else{
				this.right.addNode(newNode);
			}
		}
	}
	public void printNode(){
		if(this.left!=null){
			this.left.printNode();  
		}
		System.out.print(this.data+"\t");
		if(this.right!=null){
			this.right.printNode();
		}
	}
}

//声明一个二叉树

class BinaryTree {
	private Node root;
	public void add(int data){
		Node newNode=new Node(data);
		if(root==null){
			root=newNode;
		}else{
			root.addNode(newNode);
		}
	}
	public void print(){
		this.root.printNode();
	} 
}

//测试二叉树排序TestBinaryTree

public class TestBinaryTree {
	public static void main(String[] args) {
		BinaryTree bt = new BinaryTree();
		bt.add(3);
		bt.add(4);
		bt.add(5);
		bt.add(6);
		bt.add(0);
		bt.add(7);
		bt.add(1);
		bt.add(9);
		bt.add(-3);
		bt.print();
	}
}

结果是

-3	0	1	3	4	5	6	7	9


© 著作权归作者所有

K不是你的帝
粉丝 8
博文 5
码字总数 1635
作品 0
朝阳
私信 提问
二叉树算法笔记:二叉排序树(二叉搜索树) in java

本内容仅贴出三链二叉树的操作(在二叉树的两篇文章里已经有了如下代码,完全相同,只是这里把二叉排序树的代码提取出来而已)。 二叉树算法笔记:二叉树基础操作(三链二叉树) in java http:...

CheN_exe
2014/01/26
1K
0
一文掌握关于Java数据结构所有知识点(欢迎一起完善)

在我们学习Java的时候,很多人会面临我不知道继续学什么或者面试会问什么的尴尬情况(我本人之前就很迷茫)。所以,我决定通过这个开源平台来帮助一些有需要的人,通过下面的内容,你会掌握系...

snailclimb
2018/05/08
0
0
算法和编程面试题精选TOP50!(附代码+解题思路+答案)

作者 | javinpaul 编译 | 王天宇、Jane 整理 | Jane 出品 | AI科技大本营 【导读】之前我们给同学们推荐了很多关于 Python 的面试资源,大家都表示很有用。这次营长表示要翻 Java 的牌子啦~...

AI科技大本营
2018/09/27
0
0
算法和编程面试题精选 TOP50!(附代码+解题思路+答案)

作者 | javinpaul 出品 | AI科技大本营 数组 数组,将元素存储到内存的连续位置中,是最基本的数据结构。在任何和编程相关的面试中,都会被问到和数组相关的问题,可以说是非常热门的考题之一...

CSDN资讯
2018/10/02
0
0
(11)《数据结构与算法》之赫夫曼树

在我们开始介绍赫夫曼树之前,我们先带入一个情景。你想发送一个文件给你朋友,但是文件太大,所以你决定将文件压缩,变小再发送。你有没有考虑文件是怎么压缩呢?作为程序员,没有考虑过这里...

行走在代码边缘
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部