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

Java数据存储结构——二叉查找树

文章目录

      • 22.1.2二叉查找树
        • 22.1.2.1 概述
        • 22.1.2.1二叉查找树添加节点
        • 22.1.2.2二叉查找树查找节点
        • 22.1.2.3 二叉树遍历
        • 22.1.2.4 二叉查找树的弊端

22.1.2二叉查找树

22.1.2.1 概述

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

二叉查找树的特点:

  • 每一个节点上最多有两个子节点
  • 任意节点左子树上所有节点的值都小于根节点的值
  • 任意节点右子树上所有节点的值都大于根节点的值

在这里插入图片描述

22.1.2.1二叉查找树添加节点
  • 小的存左边
  • 大的存右边
  • 一样的不存

案例:将 7 4 10 5依次 按照二叉树存储

在这里插入图片描述

22.1.2.2二叉查找树查找节点

从根节点依次比较,比较根节点大的话往右子树比较,比根节点小的话往左子树走。

在这里插入图片描述

22.1.2.3 二叉树遍历
  • 前序遍历: 根 左 右

从根节点开始,先遍历根节点,再左子节点,最后右子节点的顺序遍历。

如图,遍历结果为 20、18、16、19、23、22、24

在这里插入图片描述

  • 中序遍历:左 根 右

先遍历左子树 ,再遍历根节点 ,最后遍历右子树

中序遍历获取的结果是从小到大的数据

如图,遍历结果:16、18、19、20、22、23、24

在这里插入图片描述

  • 后序遍历:左 右 根

先遍历左子树,再遍历右子树 ,最后遍历根节点

如图,遍历结果:16、19、18、22、24、23、20

在这里插入图片描述

  • 层序遍历:从根节点一层一层开始

上图按照层序遍历结果为:20、18、23、16、19、22、24

22.1.2.4 二叉查找树的弊端

如,将7 、10、11、12、13按照二叉查找树存储,如下图:

在这里插入图片描述


http://www.kler.cn/a/308313.html

相关文章:

  • 使用API有效率地管理Dynadot域名,编辑账户中whois联系人信息
  • react 中 useContext Hook 作用
  • 大模型时代,呼叫中心部门如何自建一套大模型在线客服?
  • 【MySQL 保姆级教学】事务的隔离级别(详细)--下(13)
  • 从社交媒体到元宇宙:Facebook未来发展新方向
  • 前端请求后端php接口跨域 cors问题
  • 在linux注册服务并开机启动springboot程序
  • 使用canal.deployer-1.1.7和canal.adapter-1.1.7实现mysql数据同步
  • 探索轻量级语言模型 GPT-4O-mini 的无限可能
  • 面试常见题之PG数据库
  • 【工作流集成】springboot+vue工作流审批系统(实际源码)
  • 大数据之spark算子简介
  • SSM 框架 个人使用习惯 详细
  • vue3 + vite2 vue 打包后router-view空白
  • 用最新方案为数据密集型AI供能:将服务器农场沉入旧金山湾
  • 【YashanDB知识库】数据库获取时间和服务器时间不一致
  • Facebook的虚拟现实功能简介:社交网络的新前沿
  • 腾讯地图SDK Android版开发 11 覆盖物示例 4 线
  • 什么是蜘蛛池?有什么作用
  • 【原创】java+swing+mysql长途客车售票管理系统设计与实现
  • CACTI 0.8.7 迁移并升级到 1.2.7记录
  • 【零散技术】详解Odoo17邮件发送(一)
  • Unity 编辑器设置中文
  • 对称密码中的密钥是如何实现安全配送的?
  • 【数据结构】快速排序详解(递归版本)
  • 初始爬虫7