大话数据结构笔记-树
基础概念
树是n个节点的有限集。
- n=0时称为空树
- 在任意非空树中
- 有且仅有1个根结点(Root)
- n>1时其余节点分别为m个互不相交的有限集
- 每个集合本身就又是一棵树称为根的子树(SubTree)
结点
- 结点拥有的子树称为结点的度(Degree)
- 度为0的结点称为叶结点(Leaf)或者终端结点
树的度是树内各结点的度的最大值
结点的子树的根称为该结点的孩子(child)
- 相应的,该结点称为孩子的双亲(Parent)。。。。。
- 同一个双亲的孩子之间互称兄弟(Sibling)
- 结点的祖先是根到该结点经过的所有结点
- 以某结点为根的子树的任意结点都是他的子孙
其他
- 结点的层次(Level)从根开始定义,根为第一层
- 树中结点的最大层次称为树的速度(Depth)或高度
- 若将树中结点看成从左至右有次序的不能互换的,则为有序树,否则为无序树。
- 森林(Forest)是m棵不相交的树的集合
与线性结构的差别
线性结构
- 第一个数据元素: 无前驱
- 最后一个数据元素: 无后继
- 中间元素: 一个前驱一个后继
树结构
- 根结点: 无双亲,唯一
- 叶结点: 无孩子,可以多个