当前位置: 首页 > news >正文

Java基础数据结构

二叉查找树

二叉查找树,又称二叉树或者二叉搜索树

特点:每一个节点上最多又两个子节点

任意节点左子树上的值都小于当前节点 

任意节点右子树上的值都大于当前节点

二叉查找树添加节点:规则

小的存左边

大的存右边

一样的不存

平衡二叉树(规则)

任意节点左右子树高度差不超过1

旋转机制

规则1:左旋

规则2:右旋

触发机制:当添加一个节点之后,该树 不再是一颗平衡二叉树

左旋:确定支点:从添加的节点开始,不断的往父节点找不平衡的节点

步骤:以不平衡的点作为支点,把支点左旋降级,变成左子节点,晋升原来的右子节点

平衡二叉树需要旋转的四种情况

1.左左               一次右旋

2.左右               先局部左旋,,再整体右旋

3.右右               一次左旋

4.右左               先局部右旋,再整体左旋

红黑树

红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构

是特殊的二叉查找树,红黑树的每一个节点上都有存储位表示节点的颜色

每一个节点可以是红或者黑;红黑树不是高度平衡的,它的平衡是通过“红黑规则”进行实现的

红黑规则:

1.每一个节点是红色的,或者黑色的

2.根节点必须是黑色

3.如果一个节点没有字节的或者父节点,则该节点相应的指针属性值为Nil,这个Nil视为叶节点,每个叶节点Nil是黑色的

4.如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连的情况)

5.对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同的黑色节点

默认颜色:添加节点默认是红色的(效率高)

 

http://www.lryc.cn/news/142327.html

相关文章:

  • PP-TS基于启发式搜索和集成方法的时序预测模型,使预测更加准确
  • vue 04-reactive与ref的选择
  • Mysql索引+事务+存储引擎
  • 创建abp vnext项目
  • 【OpenCV实战】3.OpenCV颜色空间实战
  • 什么是回调函数(callback function)?
  • 零售再增长,直播登“C位”,美团稳稳交出成绩单
  • 什么是需求可追溯性,为什么它对产品团队很重要?
  • Window基础命令
  • Java List的扩容机制原理及应用
  • Cesium 显示经纬高
  • 专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算
  • ThreadLocal存放当前用户
  • es入门实战
  • c++系列之指针
  • 网络安全:挑战与防护策略
  • AI 插件:未来的浏览器、前端与交互
  • R包开发-2.1:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)
  • 土豆叶病害识别(图像连续识别和视频识别)
  • 三、JVM监控及诊断工具-GUI篇
  • 3211064 - 错误消息 AA634 出现在 T-cd AW01N 或 T-cd AFAR 中
  • k3s or RKE2 helm安装报错dial tcp 127.0.0.1:8080: connect: connection refused
  • 网络安全应急响应预案演练
  • Redis 的混合持久化
  • ElasticSearch总结
  • 手写数字识别之损失函数
  • sleep () 和 wait () 有什么区别?
  • 第一百二十七回 空安全
  • js判断类型:typeof Object.prototype.toString instanceof constructor有什么区别?一文讲清楚
  • uview ui 1.x ActonSheet项太多,设置滚动