Ruixiang Li

基本概念

在数学中,树(Tree)是一类特殊的图(Graph),是一种连通图,但是无环,两个顶点之间存在唯一路径。如果不指定某个特定的“根”节点,则称为无根树,即任意节点都可以是“潜在的根”

所有的树都是无环图/无圈图,但无圈图允许不连通(相当于多个树的集合)。

是除了根之外所有点入度均为1的有向树。

树形结构表示法:

森林与二叉树

树/森林与二叉树存在一一对应关系:

链式存储结构

1.子节点表示法

本质上是图的邻接表。

优势:查孩子个数、结点值、归并与删除;

劣势:找兄弟结点

2.动态表示法

每个节点包含值和所有子节点指针

3.“左孩子/右兄弟”表示法

每个节点包含:值、第一个子节点(指针)、下一个兄弟节点(指针)、(可能有的)父节点指针

4.父指针表示法

每个节点保留指向父节点的指针

5.并查集 & 路径压缩算法WQUPC

指路:Lecture01

并查集本质上是一种等价类的处理,是由一组不相交的子集组成的集合

等价关系:自反、对称、传递

顺序存储结构

1. 带右链的先根次序表示

2. 带双标记的先根次序表示

3. 带双标记的层次次序表示

4. 带度数的后根次序表示

K叉树