非线性结构:树与图的核心概念与特性
非线性结构是指数据元素之间存在一对多或多对多关系的结构,无法用线性序列完整描述。常见的非线性结构包括树(一对多)和图(多对多),它们广泛应用于层次关系建模(如文件系统)、网络关系描述(如社交网络)等场景。
树(Tree):一对多的层次结构
树是一种具有层次关系的非线性结构,核心特征是存在一个根节点,其余节点分属不同子树,形成一对多的分支关系。
树的定义与核心特征
树是由 n(n ≥ 0) 个节点组成的有限集合:
- 当
n = 0时,称为空树。 - 当
n > 0时,有且仅有一个根节点(无前驱节点);其余节点可分为若干个互不相交的子集,每个子集本身也是一棵树(称为子树)。
核心特征:
- 根节点唯一,无前驱。
- 除根节点外,每个节点有且仅有一个前驱(父节点)。
- 每个节点可以有任意多个后继(子节点)。