数据结构 - 树的概念

一.什么是树?

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

**n = 0:**空树。

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

二.基本属于

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

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

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

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

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

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

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

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

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

三.树的存储

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

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

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

相关推荐
好悬给我拽开线4 小时前
ZILOT 论文解析
算法
饮水桶_T5 小时前
JAVA IO流笔记
开发语言·数据结构·算法
星夜离尘565 小时前
MATLAB 离散数据分箱:半开区间、末端点与计数、加权和、平均
算法·matlab
Pniubi6 小时前
力扣76.最小覆盖子串
算法·leetcode·职场和发展
地平线开发者6 小时前
征程6|用 hrt\_model\_exec 看清 YOLOv5x 的输入、原始输出和后处理
人工智能·算法
csdn_aspnet7 小时前
C++ 3个有序点的方向(Orientation of 3 ordered points)
c++·算法
Felven7 小时前
C. Brr Brrr Patapim
c语言·开发语言
赤生云电竞7 小时前
GPU算力共享平台架构实践:任务分发与资源隔离的关键配置
算法·架构·gpu算力
li星野7 小时前
相位补偿学习记录:把被颅骨“打乱“的声波重新对齐
学习
Z21-X8 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生