java中二叉排序树的示例分析
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,这篇文章主要介绍了java中二叉排序树的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。二叉排序树:BST: (Binary S
千家信息网最后更新 2025年02月08日java中二叉排序树的示例分析
这篇文章主要介绍了java中二叉排序树的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
二叉排序树:BST: (Binary Sort(Search) Tree), 对于二叉排序树的 任何一个非叶子节点,要求 左子节点的值比当前节点的值小, 右子节点的值比当前节点的值大。
特别说明: 如果有相同的值,可以将该节点放在左子节点或右子节点。
比如针对前面的数据{7, 3, 10, 12, 5, 1, 9} ,对应的二叉排序树为 :
代码实现:
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中二叉排序树的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
节点
结点
排序
篇文章
子树
递归
示例
分析
相同
代码
价值
兴趣
叶子
同时
形式
指向
数据
方法
更多
朋友
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
威海商友网络技术怎么样
软件开发找什么单位好
网络技术人才供给
上海运维管理软件开发服务
目前最新魔兽世界服务器人口排行
视频会议软件开发价格怎么样
山西299服务器虚拟主机
sa手机版僵尸服务器
豫商集团 企业数据库
国外焊接数据库的发展
服务器管理控制台叫什么
搭建论坛 access数据库
男孩黑客网络安全专家演讲视频
软件开发涉及什么方面的数学
丰巢柜用什么软件开发
云数据库需要本地吗
DIY名片软件开发
linux服务器ssh
网络技术和电脑广告设计哪个好
电脑服务器如何删除上网记录
改学校后台数据库获得奖学金
宁波品牌网络技术服务电话
网络安全包括互联网安全吗
广东互联网养老软件开发电话
网络安全联系农业
网络安全的定义简写
预判数据库执行语句
mc服务器映射
工控软件开发大概多少钱
小程序无法访问数据库