数据结构 - 树的概念

一.什么是树?

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成的一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树。

**n = 0:**空树。

**n > 0:**有且仅有一个根节点,剩下节点分成若干互不相交的有限集合,每个集合本身又是一棵树,称为子树。

二.基本属于

**根节点:**没有前驱的结点。

**叶子节点:**没有后继(子节点)的结点。

**分支结点:**没有子节点的结点。

**父节点/子节点:**直接前驱、直接后继。

**兄弟结点:**同一个父节点的子节点。

**结点的度:**结点拥有的子树个数。

**树的度:**属内各节点度的最大值。

**结点层次:**根在第一层(也有教材从0开始)。

**树的高度/深度:**树中结点的最大层次。

三.树的存储

**1.**双亲表示法:数组存结点,记录父节点下标。

**2.**孩子表示法:每个结点保存孩子链表。

**3.**孩子兄弟表示法。

相关推荐
RaaS10012 分钟前
Agent Skills 进了 Linux Foundation:2.8 亿次安装,但装 skill 还没有安全规范
人工智能·算法·架构
CV爱数码26 分钟前
CT 重建从零开始(五):ASTRA Toolbox 上手——几何、投影器与算法
图像处理·算法·计算机视觉·ct
TunerT_TQ31 分钟前
超立方体Ramsey(openai/math 家族171)H11攻坚日志|D60–D69:Star分组重数、二幂坐标群、奇偶入射语义与Site‑Level候选计数形式化闭环
算法
kkkkkkkkkk_Z1 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习
Rabitebla1 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
远离UE41 小时前
半拉格朗日学习笔记 动力学 实时渲染
人工智能·算法
小郎君6581 小时前
MPTT 不是万能编号:一棵百万节点树的增删改与批量事务
算法
FPGA小徐1 小时前
【一生一芯 / PA】AM 核心文件逐行解析(上):从 start.S 到 gpu.c
前端·算法
Tairitsu_H2 小时前
[动态规划#1] 子数组 | 最大子数组和 | 环形子数组的最大和 | 乘积最大子数组 | 乘积为正数的最长子数组
算法·动态规划
fanged3 小时前
嵌入式架构学习6--ZSWatch(TODO)
学习