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

数据结构--二叉排序树

一、二叉排序树的定义

  二叉排序树,又称二叉查找树。

  性质: 左子树结点值<根结点值<右子树结点值(进行中序遍历,可以得到一个递增的有序序列)

二、查找操作

  利用二叉排序树的性质,如果树空,或者等于根节点的值,则结束循环,小于则在左子树上查找,大于,在右子树上查找。

  递归特性:

三、插入操作

  若原二叉树为空,则直接插入节点;否则,若关键字k小于根节点,则插入到左子树,若关键字k大于根节点的值,则插入的右子树。如果树中存在相同的值,则插入失败。

四、删除操作

  先搜素找到目标结点:

   1.若被删除的结点时叶子结点,则直接删除们不会破坏二叉排序树的性质。

   2.若结点z只有一棵左子树或右子树,则让z的子树成为z父结点的子树,代替z的位置

   3.若结点z有左右子树,则令z的直接后继(或者直接前驱)代替z,然后从二叉排序树中删除这个直接后继(或直接前驱),这样就变成了前两种情况。

五、查找效率分析

  查找长度--在查找运算种,需要对比关键字的次数成为查找长度,反映了查找操作时间的复杂度。

总结:

相关文章:

  • 【Spring篇】Spring的生命周期
  • C语言枚举类型详解
  • [特殊字符] 2025蓝桥杯备赛Day11——P11041 [蓝桥杯 2024 省 Java B] 报数游戏
  • Java 列表复制与对象引用
  • Python学习第二十五天
  • 10 个pygame经典小游戏
  • 装饰器模式 (Decorator Pattern)
  • SpringCloud消息总线:Bus事件广播与配置动态刷新
  • 基于硅基流动平台API构建定制化AI服务的实践指南
  • 大数据学习(88)-zookeeper实现的高可用(HA)
  • 【JSqlParser】Java使用JSqlParser解析SQL语句总结
  • 垃圾回收学习
  • “thrust“ has no member “device“
  • 视觉Transformer架构的前沿优化技术与高效部署
  • Linux 驱动总线中的 ACPI 设备匹配机制是怎么回事儿?【最大特点是设备的自动发现和热插拔性能良好】
  • vue 组件开发
  • C++运动控制卡开发实践指南
  • 【pm2运行ts的终极解决方案】使用pm2+ tsx 运行 TypeScript 文件指南
  • 3.25-3 request断言
  • 代码随想录算法训练营第二十天 | 字符串 | 反转字符串、替换空格、翻转字符串里的单词(很多基础方法)和左旋转字符串
  • 做淘宝网站怎么弄的/免费网页代码大全
  • 国家税务总局网站官网发票查询/关键词优化方法有什么步骤
  • 一个好的网站有什么标准/域名停靠浏览器
  • 用自己电脑做网站空间/搜索关键词排名优化
  • 开发公司房屋维修办法/百度seo怎么收费
  • 用花生壳做网站/如何做网络销售产品