栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据结构-二叉树知识点总结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构-二叉树知识点总结

#博学谷IT学习技术支持#

目录
  • 一、二叉树
    • 1、什么是树
    • 2、什么是节点、度和树高
    • 3、什么是二叉树
    • 4、二叉树的结构图
  • 二、二叉查找树
    • 1.、什么是二叉查找树
    • 2、二叉查找树的特点
    • 3、二叉查找树节点添加规则
  • 三、平衡二叉树
    • 1、什么是平衡二叉树
    • 2、二叉平衡树的特点
    • 3、二叉平衡树的旋转
      • 1.产生旋转的原因
      • 2.旋转
      • 3、平衡二叉树的四种旋转情况

一、二叉树 1、什么是树
	树是一种非线性结构。树有一个特殊的节点,叫做根节点。根节点是一个树的起点,除根节点外,它下面的节点被分为很
多的分支。由这些分支和根节点共同组成,形状像倒挂的树,根在上,叶子在下的结构就叫做“树”。
2、什么是节点、度和树高
  • 在树的结构中,每一个元素称为节点。
  • 每一个节点的子节点数量就叫做度。
  • 从根节点到最长路径末端子节点的个数
3、什么是二叉树
	一个有序树的任意节点的度不超过2的树就称为二叉树。
4、二叉树的结构图

	图示树高为3,左子树树高为2,右子树树高为2。
二、二叉查找树 1.、什么是二叉查找树
	具有一定查找规则的二叉树就称为二叉查找树,也称二叉排序树或者二叉搜索树。
2、二叉查找树的特点
  • 它具有二叉树的特点,每个节点的度不超过2

  • 左子树的所有节点的值都小于根节点

  • 右子树的所有节点的值都大于根节点

     左图中根节点9右边存储的2,1小于9,明显不符合二叉查找树规则,所以为普通二叉树。而右图满足。
    
3、二叉查找树节点添加规则
  • 大的存左边
  • 小的存右边
  • 数据重复则不存
三、平衡二叉树 1、什么是平衡二叉树
	因为二叉查找树如果添加大量大于(小于)根节点的数据,会导致一端的子树过于臃肿,为了解决这个问题,在满足二叉
查找树的条件下,满足一定的特点的二叉查找树便称为二叉平衡树。
2、二叉平衡树的特点
  • 二叉树左右两个子树的高度差的绝对值不超过1
  • 任意节点的左右两个子树都是一颗平衡二叉树
3、二叉平衡树的旋转 1.产生旋转的原因
	当平衡二叉树添加了结点之后,该树便不再是平衡二叉树了。为了使添加后的树依旧保持使二叉平衡树,就需要进行旋
转来维持。
2.旋转
  • 左旋:就是将根节点的右侧向左侧移动,原来根节点的右节点变为根节点,根节点降级变为新根节点的左子节点。左旋时,根节点的右节点如果有左子节点,则将该左子节点让给降级的根节点作为它的右子节点。
  • 右旋:将根节点的左侧向右侧移动,原根节点的左节点变为根节点,根节点降级为新根节点的右子节点。右旋时,根节点的左节点如果有右子节点,则将该右子节点让给降级的根节点作为它的左子节点。
3、平衡二叉树的四种旋转情况
  • 左左:当根节点的左子树的左子树有节点插入时,直接进行整体的右旋即可。

  • 右右:当根节点的右子树的右子树有节点插入时,直接进行整体的左旋即可。

  • 左右:当根节点的左子树的右子树有节点插入时

     解决方法:先将插入节点对应的左子树进行左旋,再对整体进行右旋即可。
    
  • 右左:当根节点的右子树的左子树有节点插入时

     解决方法:先将插入节点对应的右子树进行右旋,在对整体进行左旋即可。
    

这是我学习中遇到的问题和解决方案,发该博客是为了记录遇到的这些情况,希望可以给看到的你有所帮助,如有不足,请指出。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971798.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号