☰
树(二叉树、深度优先遍历、广度优先遍历)
2026/10/20 17:21:57 网站建设 项目流程

树

树的介绍

树的定义

基本术语

存储结构

二叉树

一、树(Tree)的基本概念

1. 定义 ---递归式的定义

树是n(n ≥ 0)个结点的有限集合:

  • 当n = 0时,称为空树;

  • 当n > 0时,满足:

    1. 有且仅有一个根结点(Root);

    2. 其余结点可分为m(m ≥ 0)个互不相交的有限集合 T₁, T₂, ..., Tₘ,

      每个集合本身也是一棵树,称为根的子树(Subtree)。

2. 基本术语

术语说明
结点的度(Degree)结点拥有的子树个数
叶结点(Leaf)度为 0 的结点,也称终端结点
分支结点(Internal Node)度不为 0 的结点,也称非终端结点
树的度树中所有结点的度的最大值
结点的层次(Level)根结点为第 1 层,其子结点为第 2 层,依此类推
树的深度 / 高度(Depth / Height)树中结点的最大层次数

3. 存储结构

  • 顺序存储:

    • 适用于完全二叉树等结构规则的树,常用数组实现;
  • 链式存储:

    • 通用方式,每个结点包含数据域和指向子结点的指针域。

二叉树

定义

二叉树是n(n ≥ 0)个结点的有限集合:

  • 或为空树(n = 0);
  • 或由一个根结点和两棵互不相交的子树组成,分别称为左子树和右子树,且二者有严格顺序。

特点

  1. 每个结点最多有两个子树;
  2. 左、右子树有顺序,不可互换;
  3. 即使某结点仅有一个子树,也必须明确是左子树还是右子树。

特殊二叉树

二叉树的遍历

深度优先

前序遍历

根---左---右

中序遍历

左---根---右

后序遍历

左---右---根

前中后序的组合

总结

深度优先二叉树的相关代码

二叉树序列代码表示方法

前序扩展序列 --- 根 左 右

ABDH##H###CE#I##F##

没有了的部分用#表示

创建二叉树

前序遍历并打印二叉树

中序遍历并打印二叉树

后序遍历并打印二叉树

广度优先

层次遍历

层次遍历具体代码应用---结合队列

具体思路

代码

对应的层次遍历二叉树 . h 文件以及队列的 , h 文件的写法

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询