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

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.lryc.cn/news/439602.html

相关文章:

  • JavaScript 事件处理
  • 容器技术--Docker应用部署
  • 医院管理|基于java的医院管理系统小程序(源码+数据库+文档)
  • golang学习笔记21——golang协程管理及sync.WaitGroup的使用
  • C++初阶大全
  • 使用Redis实现用户关注博客的推模式
  • python常用模块之time、datetime、randow(14)
  • 根据NVeloDocx Word模板引擎生成Word(六-结束)
  • Android架构组件:MVVM模式的实战应用与数据绑定技巧
  • 调用系统的录音设备提示:line with format PCM_SIGNED 16000.0 Hz
  • android BLE 蓝牙的连接(二)
  • 改编pikachu的打靶经历(题目不全)
  • Linux进阶 修改文件所有者
  • 第312题|二重积分求旋转体体积(二)|武忠祥老师每日一题
  • redis基本数据结构-set
  • Android 应用安装-提交阶段
  • 强化学习Reinforcement Learning|Q-Learning|SARSA|DQN以及改进算法
  • 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置
  • java之认识异常
  • JSON处理工具类
  • 2022高教社杯全国大学生数学建模竞赛C题 问题一(2) Python代码演示
  • ARACom Proxy Class API 概念
  • 【Scala入门学习】基本数据类型和变量声明
  • C#基础(13)结构体
  • Excel图片批量插入单元格排版处理插件【图片大师】
  • 应用性能优化实践(二)提升应用启动和响应速度
  • 接口测试系列文章专题
  • Unity Hub自动安装指定版本Unity的Android开发环境
  • 从0开始学ARM
  • 每日一题——第九十四题