树(tree)是包含 n(n≥0) [2] 个节点,当 n=0 时,称为空树,非空树中(n-1)条边的有穷集,在非空树中:

  1. 每个元素称为节点(node
  2. 有一个特定的节点被称为根节点或树根(root
  3. 除根节点之外的其余数据元素被分为m(m≥0)个互不相交的集合。

一定要注意每个节点除了和自己的双亲节点有联系,和其他节点不可相交,否则违背定义。另外树里面的上一级节点叫双亲,雌雄同体。如下所示就不是一颗树。
image.png

树中的其他概念

节点的度:节点拥有的子树称为节点的度(degree)
树的度:节点的度的最大值。max(节点的度);
叶子节点:你可以想象树除了枝干会分叉,叶子上会长出叶子吗,所以叶子节点意思就是这个枝干的终点。终端节点。
非终端节点:除根节点,非终端节点和叶子节点是非的关系,也叫做分支节点,也叫内部节点。
image.png

孩子:节点的子树的根节点就是该节点的孩子,相应的该节点就是孩子的双亲
兄弟:同一个双亲的孩子互称兄弟
祖先:根节点到该节点所经分支的所有节点。
子孙:以某节点为根的子树中的任意节点。
image.png
层次:类比人类宗族,每代人就是一层。
深度或高度:树节点的最大层次就是树的高度。
image.png

树的分类

树中任意节点的 子结点之间有顺序关系,这种树称为有序树。
image.png
树中任意节点的 子结点之间没有顺序关系,这种树称为无序树,也称为自由树。
image.png