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

数据结构之二叉树查询

二叉树之查询

二叉树的查询是建立遍历的基础上更进一步的对比查询,下面分别从前序、中序、后续三种方法中查询对应的节点。

前序查找

    /*** 前序查询*/public Person preSelectById(Integer id) {Person person = null;if (this.data.getId().equals(id)) {person = this.data;}if (Objects.isNull(person) && Objects.nonNull(this.left)) {person = this.left.preSelectById(id);}if (Objects.isNull(person) && Objects.nonNull(this.right)) {person = this.right.preSelectById(id);}return person;}

中序查找

    /*** 中序查询*/public Person midSelectById(Integer id) {Person person = null;if (Objects.isNull(person) && Objects.nonNull(this.left)) {person = this.left.preSelectById(id);}if (this.data.getId().equals(id)) {person = this.data;}if (Objects.isNull(person) && Objects.nonNull(this.right)) {person = this.right.preSelectById(id);}return person;}

后序查找

    /*** 后序查询*/public Person postSelectById(Integer id) {Person person = null;if (Objects.isNull(person) && Objects.nonNull(this.left)) {person = this.left.preSelectById(id);}if (Objects.isNull(person) && Objects.nonNull(this.right)) {person = this.right.preSelectById(id);}if (this.data.getId().equals(id)) {person = this.data;}return person;}

源码与测试案例

gitee地址

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JetLinks物联网学习(前后端项目启动)
  • HarmonyOS开发者基础认证考试试题
  • 生信初学者教程(七):数据库
  • 【pytorch】RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 报错
  • 【Unity踩坑】UI Image的fillAmount不起作用
  • Spring中的Web Service消费者集成(应该被淘汰的技术)
  • 【学习笔记】STM32F407探索者HAL库开发(五)F407时钟系统配置
  • MySQL高阶1907-按分类统计薪水
  • Codeforces Round 784 (Div. 4) Kotlin
  • 滚雪球学SpringCloud[4.1讲]: Spring Cloud Gateway详解
  • 利用Python与Ansible实现高效网络配置管理
  • java使用ByteBuffer进行多文件合并和拆分
  • 深入理解前端拖拽:从基础实现到事件冒泡与委托的应用【面试真题】
  • HTTP常见状态码 HTTP的逐步发展(通俗易懂版)
  • 大数据新视界 --大数据大厂之JavaScript在大数据前端展示中的精彩应用
  • [译]如何构建服务器端web组件,为何要构建?
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 2019.2.20 c++ 知识梳理
  • 2019年如何成为全栈工程师?
  • angular组件开发
  • javascript 总结(常用工具类的封装)
  • java中具有继承关系的类及其对象初始化顺序
  • Logstash 参考指南(目录)
  • Python 反序列化安全问题(二)
  • scala基础语法(二)
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Yeoman_Bower_Grunt
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 闭包--闭包之tab栏切换(四)
  • 基于axios的vue插件,让http请求更简单
  • 如何选择开源的机器学习框架?
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 异步
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​Spring Boot 分片上传文件
  • #数据结构 笔记一
  • %check_box% in rails :coditions={:has_many , :through}
  • (175)FPGA门控时钟技术
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (差分)胡桃爱原石
  • (二)linux使用docker容器运行mysql
  • (二)WCF的Binding模型
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (算法)Game
  • (算法)硬币问题
  • (算法设计与分析)第一章算法概述-习题
  • (一) storm的集群安装与配置
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)h264中avc和flv数据的解析
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .Net - 类的介绍
  • .NET 4.0中的泛型协变和反变