数据结构——第五章:树与二叉树

目录

一、树(⭐⭐)

二、二叉树(⭐⭐⭐)

三、线索二叉树(⭐⭐⭐)

四、树与森林(⭐⭐)

五、哈夫曼树与并查集(⭐⭐⭐)


一、树(⭐⭐)

选择题:数形结合(特殊图法,能满足所有的必须也要满足特殊图)

1、结点与树的高度、深度、层次。

  • 树的高度(深度):树中结点的最大层数。
  • **结点的高度:**以该结点为根的子树的高度。
  • 结点的深度:节点所在的层次数。

2、结点和树的度:

  • 结点的度:该结点的孩子个数。

  • 树的度:树中所有结点的最大度数。

  • 度为0的结点就是叶子节点(终端节点),度大于0为分支节点。
    1、树的性质:

  • 最少节点、最大深度往往涉及单支树

  • 最多结点、最低深度往往涉及满树。

  • 树适用于元素之间具有分支层次的数据。

二、二叉树(⭐⭐⭐)

1、二叉树的性质:

  • 结点数=所有结点度数之和+1
  • n0=1+n2**(推广:n0=1 + n2 + 2*n3 + 3*n4 ....... (i-1)*ni)**
  • 树可为空树,但图不可为空图**(单支树特别容易考**)。

2、完全二叉树:

  • 最多只有一个度为1的结点,且只有左孩子(除去最后一层其余都满)
  • 若i<=n/2,则为分支结点,若大于则为叶子节点。
  • 例:若第六层有叶子节点,第七层可能也有。
  • 完全二叉树一定是平衡二叉树。
  • 完全二叉树高度为lg(n+1)(上取整)或lgn+1(下取整)

3、满二叉树:

  • 每层都是满结点。

4、二叉排序树:

  • 左<根<右(同层递增)

5、平衡二叉树:

  • 任意结点左右子树高度绝对值之差不超过1。
    1、二叉树的链式存储结构:

  • **二叉链表n个结点:n+1个空链域,**2n个指针域,n个数据域。

  • **二叉树用三叉链表(左、右、双亲):空指针n+2,**画图更直观。

  • 三叉树用三叉链表: 简单**,**画图去吧,更直观。

  • 删除二叉链表所有结点并释放存储空间,后序最合适。(先删除左右孩子,再释放空间最后删除根结点)

2、二叉树的遍历:

  • 后序遍历仍需要栈支持(右子树紧挨根结点的点,无法指向根节点)
  • 先序遍历即给出入栈顺序,根据卡特兰数:1÷(n+1)×(2n与n的组合数)

三、线索二叉树(⭐⭐⭐)

1、线索二叉树:

  • 二叉树是一种逻辑结构**,线索二叉树是加上线索之后的链表结构,即是一种存储结构(或物理结构)**
  • 先序线索二叉树找不到先序前驱,后序线索二叉树找不到后序后继承。
  • ltag/rtag:0表示左孩子,1表示前驱。

四、树与森林(⭐⭐)

1、树与森林的对应关系:

  • 前序遍历二者相等
  • 中序遍历森林等于二叉树的后序遍历
  • 后续遍历森林等于二叉树的中序遍历

五、哈夫曼树与并查集(⭐⭐⭐)

1、哈夫曼树:

  • 固定长度编码:所有字符均在叶子结点。
  • 可变长度编码(哈夫曼编码): 根据频次进行映射,起到压缩编码的作用
  • 哈夫曼树:左0右1,贪心策略,只有度为2和0的结点没有度为1的结点,总结点为2n-1,新建的结点为n-1。

2、并查集:

  • 通常用树的双亲法表示并查集的存储结构
  • 时间复杂度O(lgn)~O(n)。(单树情况下最差)
相关推荐
郝学胜-神的一滴几秒前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
码匠许师傅10 分钟前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式
a187927218311 小时前
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并
HRTOS1 小时前
HRTOS 4.0 驱动库:06_Storage 存储设备驱动——24C02 EEPROM与I²C驱动开发
c语言·驱动开发·嵌入式硬件·51单片机
2601_962297481 小时前
在python3中、下列输出变量a的正确写法是_2020超星大数据Python免费答案
数据结构·python·算法·编程·字符串操作
辰烨chenye2 小时前
LeetCode Hot 100 题解 · 子串篇
算法·leetcode·职场和发展
辰烨chenye2 小时前
LeetCode Hot 100 题解 · 堆篇
java·算法·leetcode
手写码匠2 小时前
华为云Flexus+DeepSeek征文|DeepSeek 应用监控告警体系实战:从“用户投诉才知道“到“故障前就发现“
人工智能·深度学习·算法·aigc
shehuiyuelaiyuehao3 小时前
算法29,前缀和,除自身以外的数组的乘积
java·数据结构·算法
智购科技自动售货机厂家3 小时前
2026自动售货机设备清洁效果自动验证:从图像比对到评分算法的工程实践~YH
人工智能·算法·计算机视觉