检查点
树的基础概念与基本性质简介!
在本章中,我们将学习树数据结构的基础知识!
引言
树由顶点(节点)和连接它们的边组成。与我们之前学习的线性数据结构不同,树是分层的。树类似于图,但环路在树中不能存在——因此树是无环的。换句话说,任意两个节点之间都恰好存在一条路径。
- 根节点:没有父节点的节点。通常情况下,树并不一定必须有根节点。然而,有根树有一个特殊的节点作为根,这正是本课程中我们将主要使用的类型。
- 子节点:连接到上层节点(即父节点)的节点
- 父节点:拥有一个或多个子节点的节点
- 兄弟节点:共享同一个父节点的节点
- 叶节点:没有子节点的节点
- 祖先节点:从某个节点 d 到根节点路径上的所有节点。祖先节点包括节点 d 的父节点、祖父母节点等。
下图展示了上述所有术语:
说明
在上图中,1 是根节点,同时也是节点 2、3 和 4 的父节点。节点 3 是节点 6 和 7 的父节点。节点 2、3、4 都以 1 为父节点,因此它们互为兄弟节点。同样地,6 和 7 也互为兄弟节点,因为它们的父节点都是 3。
其他术语与公式
树中还有一些常见的术语:
- 子树:对于某个非叶节点,其子树是由该节点的子节点及其所有后代构成的树结构。
- 节点的度:一个节点拥有的子节点数量
- 路径长度:路径中边的数量
- 节点 n 的深度:从节点 n 到根节点的路径长度。根节点的深度为 0。
- 节点 n 的层级:(节点的深度) + 1
- 节点 n 的高度:从节点 n 到其最深后代节点的路径长度。整棵树的高度即为根节点的高度,而叶节点的高度始终为 0。
- 树的高度:根节点的高度
上图中共有六个子树,每个子树用数字标记。每个节点最多可以有两个子树,分别是左子树和右子树。叶节点没有子树。
常见的树类型
存在多种类型的树,每种都针对特定的应用场景进行了优化。不同的树类型具有各自独特的结构,从而影响各种操作的时间和空间复杂度。一些常用的树包括:
- 二叉树
- 二叉搜索树
- AVL 树
- 红黑树
- 2-3 树
我们将在后续章节中详细学习这些类型!
N 叉树
在图论中,N 叉树是一种有根树,其中每个节点最多有 N 个子节点。它也被称为 k 叉树、k 叉树或 M 叉树。二叉树是 k=2 的特殊情况。二叉树最多可有 2 个子节点,最少可有 0 个子节点。二叉树在众多重要算法中被广泛应用!
测验时间!
...
N 叉树测验图
Quiz
单选题
你能猜出下图中 N 的值是多少吗?
1 / 1