概述
树状图是一种数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:
每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树;
基础
- 节点深度:对任意节点x,x节点的深度表示为根节点到x节点的路径长度。所以根节点深度为0,第二层节点深度为1,以此类推
- 节点高度:对任意节点x,叶子节点到x节点的路径长度就是节点x的高度
- 树的深度:一棵树中节点的最大深度就是树的深度,也称为高度
- 父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点
- 子节点:一个节点含有的子树的根节点称为该节点的子节点
- 节点的层次:从根节点开始,根节点为第一层,根的子节点为第二层,以此类推
- 兄弟节点:拥有共同父节点的节点互称为兄弟节点
- 度:节点的子树数目就是节点的度
- 叶子节点:度为零的节点就是叶子节点