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

【数据结构之二叉树】

本文主要介绍常见的树结构,以助于我们学习后面的集合框架。

一、二叉树

节点内部结构

常见概念

特点:存储数据无规则,查找比较麻烦

二、二叉查找树

为什么二叉查找树会呈现出这样的规律?

这取决于它添加节点的方式,查找节点也是通过比较的方式进行查找

特点:查找效率高,添加元素遵守的规则可能导致左右子树的高度差很大导致查询效率降低

三、二叉树的遍历方式

1、前序遍历(根左右)

2、中序遍历(左根右)

3、后序遍历(左右根)

4、层序遍历

四、二叉平衡树

为了解决二叉搜索树的树左右高度差很大的弊端

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

五、演变

二叉树 -> 二叉搜索树 -> 平衡二叉树

六、平衡二叉树的旋转机制

为什么平衡二叉树能保证左右子树的高度差不超过1?是按照以下规则和时机的。

1、左旋

旋转前:被添加的节点为12

旋转后:被添加的节点为12

特殊情况(支点为根节点)

旋转前:被添加的节点为12

旋转后:被添加的节点为12

2、右旋

旋转前:被添加的节点为1

旋转后:被添加的节点为1

特殊情况(支点为根节点)

旋转前:被添加的节点为1

旋转后:被添加的节点为1

备注:还有左左、左右、右右、右左这四种方式。

http://www.xdnf.cn/news/1332847.html

相关文章:

  • 【0基础PS】图片格式
  • Java常用类:编程世界的瑞士军刀
  • Web网站的运行原理1
  • JAVA:MyBatis 核心组件详解的技术指南
  • Mac电脑 Pixelmator Pro 专业图像处理【媲美PS】
  • 基于FPGA的实时图像处理系统(2)——VGA显示彩条和图片
  • 简笔成画:让AI绘画变得简单而有趣
  • 国产化PDF处理控件Spire.PDF教程:如何使用 Python 添加水印到 PDF
  • Map 和 Set
  • 19.web api 10
  • docker 部署
  • Go协程:从汇编视角揭秘实现奥秘
  • day31 SQLITE
  • 【38页PPT】关于5G智慧园区整体解决方案(附下载方式)
  • spring整合JUnit
  • 主从功能组图示的扩展理解
  • PyTorch API 2
  • 【数据结构】递归与非递归:归并排序全解析
  • week3-[分支结构]2023
  • Linux上安装MySQL 二进制包
  • 细说数仓中不同类型的维度
  • 10M25DCF484C8G Altera FPGA MAX10
  • 华为云服务器(ECS)新手入门:注册、购买与使用实操教程
  • 算法提升树形数据结构-(线段树)
  • 有关SWD 仿真和PA.15, PB3, PB4的冲突问题
  • Mac 上安装并使用 frpc(FRP 内网穿透客户端)指南
  • AI + 金融领域 + 落地典型案例
  • UTF-8 编解码可视化分析
  • IDM 下载失败排查全攻略
  • 移动端网页调试实战 Cookie 丢失问题的排查与优化