数据结构之数&&二叉树(一)

1 树的概念

1.1 树的定义

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

  • 若 n = 0,称为空树。
  • 非空树满足:
    1. 有且仅有一个特定的称为**根(Root)**的结点;
    2. 除根结点以外的其余结点可以划分为 m (m≥0) 个互不相交的有限集合 \(T_1,T_2,...,T_m\),其中每一个集合本身又是一棵树,称为根的子树 (SubTree)。

递归定义:树由根 + 若干棵互不相交子树构成。 通俗理解:没有环、连通、分层的图结构。

1.2 基本术语

1.2.1 结点间的关系描述
  • 父结点(双亲结点):一个结点的子树的根叫该结点的孩子;该结点就是孩子的父结点。
  • 孩子结点:某个结点子树的根。
  • 兄弟结点:同一个父结点的多个孩子互为兄弟。
  • 祖先结点:从根到该结点路径上所有结点,都是该结点的祖先。
  • 子孙结点:一个结点的所有子树中的全部结点,都是它的子孙。
1.2.2 结点和树之间的属性描述
  • 结点的度 :结点拥有的子树个数。
  • 树的度:树内各结点的度的最大值。
  • 叶子结点(终端结点):度为 0 的结点,没有孩子。
  • 分支结点(非终端结点):度大于 0 的结点。
  • 结点的层次:根为第 1 层;根的孩子第 2 层,以此向下递推。
  • 树的高度 / 深度:树中结点的最大层次。

1.3 树的性质

1.3.1 性质一:树中的结点数 = 所有结点的度数之和 + 1
1.3.2 性质二:m 叉树中第 i 层上至多有? 个结点
1.3.3 性质三:高度为 h 的 m 叉树至多有 ? 个结点

相关推荐
m0_547486665 天前
《数据结构教程》全套 PPT课件2026
数据结构
tryxr5 天前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_35 天前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode
All for pursuit.5 天前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
All for pursuit.6 天前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
渡我白衣6 天前
HttpRequest与HttpResponse的实现
服务器·数据结构·c++·人工智能·tcp/ip·机器学习·caffe
晴天的雨.9926 天前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法
淡海水6 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
Logic1016 天前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
2401_839080546 天前
C++常见八股
数据结构·c++·算法