二分查找判定树(二分查找树平均查找长度)

如果data[0]等于一组数据中最小的,那么就会增加查找的时间复杂度。平衡二叉树(追求极致的平衡),现实需求很难满足,红黑数孕育而生

大家好,又见面了,我是你们的朋友全栈君。

Don’t say much, just go to the code.

package org.bood.tree;
/** * 二分查找树 * ps:如果 data[0] 等于一组数据中最小的,那么就会增加查找的时间复杂度。<br/> * 平衡二叉树(追求极致的平衡),现实需求很难满足,红黑数孕育而生 <br/> * * @author bood * @since 2020/10/16 */
public class BinarySearchTree { 

/** * 根节点数 */
int data;
/** * 左边的数 */
BinarySearchTree left;
/** * 右边的数 */
BinarySearchTree rigth;
public BinarySearchTree(int data) { 

this.data = data;
this.left = null;
this.rigth = null;
}
// 二分查找
public void insert(BinarySearchTree root, int data) { 

// 数大于根节点数,右边
if (data > root.data) { 

// 右边是空的直接插入
if (null == root.rigth) { 

root.rigth = new BinarySearchTree(data);
} else { 

insert(root.rigth, data);
}
// 数大于根节点数,左边
} else { 

// 左边是空的直接插入
if (null == root.left) { 

root.left = new BinarySearchTree(data);
} else { 

insert(root.left, data);
}
}
}
// 中序遍历
public void in(BinarySearchTree root) { 

if (null != root) { 

in(root.left);
System.out.print(root.data + " ");
in(root.rigth);
}
}
public static void main(String[] args) { 

int[] data = { 
5, 6, 1, 7, 8, 9, 2, 4, 10};
BinarySearchTree root = new BinarySearchTree(data[0]);
for (int i = 0; i < data.length; i++) { 

root.insert(root, data[i]);
}
System.out.println("中序遍历:");
root.in(root);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128209.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 推断js中的类型:typeof / instanceof / constructor / prototype

    推断js中的类型:typeof / instanceof / constructor / prototype

  • matplotlib数据可视化实例_matplotlib动画

    matplotlib数据可视化实例_matplotlib动画本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。以下文章来源于Trochil蜂鸟数据,作者蜂鸟数据Trochil一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形。我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotlib,seaborn,plotly等工具实现可视化。本文的主题是如何用Matplotlib创建子图..

  • pycharm mac激活码2022(JetBrains全家桶)

    (pycharm mac激活码2022)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4K…

  • k8s pod配置_k8s cka

    k8s pod配置_k8s ckak8sPod的结构Pod定义Pod的配置镜像拉取策略启动命令环境变量(不推荐)端口设置资源配额Pod的介绍Pod的结构每个Pod中都包含一个或者多个容器,这些容器可以分为两类:用户程序所在的容器,数量可多可少。Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个:可以以它为依据,评估整个Pod的健康状况。可以在根容器上设置IP地址,其它容器都共享此IP(Pod的IP),以实现Pod内部的网络通信(这里是Pod内部的通讯,Pod之间的通讯采用虚拟二层网络技术来实现,我们当前环境使

  • pycharm上传代码到gitlab_pycharm配置git

    pycharm上传代码到gitlab_pycharm配置git让git忽略掉一些文件(.gitignore)#pycharm.idea/.DS_Store__pycache__/*.py[cod]*$py.class#Djangostuff:local_settings.py*.sqlite3#databasemigrations*/migrations/*.py!*/migrations/__init__.pygit管理项目

  • springboot实战第四章-SpringMVC项目快速搭建

    springboot实战第四章-SpringMVC项目快速搭建

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号