树的定义与表示
树的定义
树是你(n>=0)个节点的有限集T(T为空是空树),非空树具有两个条件。
有且仅有一个根节点作为树根;其余节点可分为M个互不相交的子集T1,Tm。其中每一个子集本手又是一颗树,称其为跟节点的子树。(递归思想)
树的二元组表示:T=(D,R)
D:树T中的节点集合,R:树中的节点关系。
二元组另外一种表示:T=(root,F)
root:树根节点;F:所有子树够成的森林。
树的表示
树形表示法,广义表表示法,嵌套集合表示法,凹入表示法如图:
树的特点
树=根节点+子树(节点+关系)
根节点特点:没有前驱,有且只有一个根节点。
树中所有节点:都只有一个前驱,多个后继节点。
与树相关术语
节点的度:树中拥有的子树数量陈伟该节点的度。度数为零:叶子节点(终结点)。根节点(又称开始节点)
孩子双亲:树中某个节点的子树成为给节点的孩子节点或子节点,相应地,该节点称为子节点的双亲节点或父节点。同一个父节点的两个节点成为兄弟节点。
路径:树中存在一个节点序列k1 k2 kn ,使得kn是km的双亲,则称该节点序列是从k1到km的一条路径或道路。路径长度m-1。
层数和高度:根节点的高度:节点到最远子叶的路径长度;层数:根节点记为0/1 非根节点的层数= 其父节点的层数+1
祖先子孙:有序树无序树:有向树:森林
树的存储
树的顺序存储
双亲链表表示法
孩子表示法
孩子兄弟表示法