网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

java中二叉排序树的示例分析

这篇文章主要介绍了java中二叉排序树的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联公司专注于网站建设|网站维护公司|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都门帘等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。

     二叉排序树:BST: (Binary Sort(Search) Tree), 对于二叉排序树的 任何一个非叶子节点,要求 左子节点的值比当前节点的值小, 右子节点的值比当前节点的值大。

    特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点。

    比如针对前面的数据{7, 3, 10, 12, 5, 1, 9} ,对应的二叉排序树为 :

java中二叉排序树的示例分析

    代码实现:

package tree;

public class BinarySortTreeDemo {

	public static void main(String[] args) {
		int[] arr= {7,3,10,12,5,1,9,2};
		BinarySortTree binarySortTree = new BinarySortTree();
		for (int i = 0; i < arr.length; i++) {
			binarySortTree.add(new Node(arr[i]));
		}
		binarySortTree.infixOrder();
	}
}
//创建二叉树
class BinarySortTree{
	private Node root;
	public Node getRoot() {
		return root;
	}
	public void add(Node node) {
		if(root == null) {
			this.root = node;//如果root为空直接让root指向node
		}else {
			this.root.add(node);
		}
	}
	// 中序遍历
	public void infixOrder() {
		if(root!=null) {
			root.infixOrder();
		}else {
			System.out.println("二叉树为空,不能遍历");
		}
	}
}
//创建结点
class Node{
	 private int value;
	 private Node left;
	 private Node right;
	 public Node(int value) {
		 this.value = value;
	 }
	 @Override
	public String toString() {
		return "Node [value=" + value + "]";
	}

	//添加结点的方法,递归的形式添加结点,注意需要满足二叉树的要求
	 public void add(Node node) {
		 if(node==null) {
			 return;
		 }
	//判断传入的结点的值,和当前子树的根节点的值比较
		 if(node.value

感谢你能够认真阅读完这篇文章,希望小编分享的“java中二叉排序树的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


当前题目:java中二叉排序树的示例分析
文章分享:http://bjjierui.cn/article/gpgphe.html

其他资讯