1、什么是树?
在计算机科学中,树(英语:tree)是一种抽象数据类型,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。
2、树的相关术语
- 节点的度:一个节点含有的子树的个数称为该节点的度;
- 树的度:一棵树中,最大的节点的度称为树的度;
- 叶节点或终端节点:度为 0 的节点;
- 非终端节点或分支节点:度不为 0 的节点;
- 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;
- 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;
- 兄弟节点:具有相同父节点的节点互称为兄弟节点;
- 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;
- 深度:对于任意节点n, n的深度为从根到n的唯一路径长,根的深度为 0;
- 高度:对于任意节点n, n的高度为从n到一片树叶的最长路径长,所有树叶的高度为 0;
- 堂兄弟节点:父节点在同一层的节点互为堂兄弟;
- 节点的祖先:从根到该节点所经分支上的所有节点;
- 子孙:以某节点为根的子树中任一节点都称为该节点的子孙。
- 森林:由 m(m>=0)棵互不相交的树的集合称为森林;
3、树有哪些特点?
- 每个节点有零个或多个子节点;
- 没有父节点的节点称为根节点;
- 每一个非根节点有且只有一个父节点;
- 除了根节点外,每个子节点可以分为多个不相交的子树;
4、树的高度和深度?
- 树的高度是根节点到叶子节点(树末端)的最大长度
- 结点的深度是它到根结点的长度
5、举例说明
图一 树.PNG在图一中:
- A是根节点,A没有父节点。
- B是E和F的父节点,同时E和F是B的子节点; B也是A的子节点, 而A是B的父节点。
- A和D有三个子节点,节点的度对应2 , B和E有两个子节点,节点的度对应2,C和H有1个子节点,节点的度对应1,K、L、F、G、J和M没有子节点,节点的度对应0。
- 节点的度为0的节点为叶子节点,所以K、L、F、G、J和M 是叶子节点。
- 节点的最大度为3,所以该树的度为3。
- H、I、J的父节点都是D,所以H、I和J是兄弟节点,同理B、C和D也是兄弟节点。
- E和F的父结点是B,在第二层,H、I和J的父结点是D也在第二层,所以E、F和H、I、J为堂兄弟节点。
- A是其他所有节点的祖先; B也是E、F、K和L的祖先。
- 因为B->E->K的路径长度为3,B节点的高度为 3。
- 因为A-> C -> G的路径长度为3,所以G的深度为3。
- 因为A->B->E->K的路径长度为4,所以树的高度为4。
- 树的高度和深度是一样的,树的深度也是4。
网友评论