- 树的定义
树是n个具有相同类型的数据元素的有限集合。树的中数据元素叫做结点。n=0的树称为空树。对于n>0的非空树有:
1>有且仅有一个特殊的结点称为树的根(Root)结点,根没有前驱结点;
2>若n>1,则除根结点外,其余结点被分成了m(m>0)个互不相交的集合T1,T2,…,Tm,其中每一个集合Ti(1≤i≤m)本身又是一棵树。树T1,T2,…,Tm称为这棵树的子树(Subtree)。
- 树的相关术语
结点:表示树中的数据元素,由数据项和数据元素之间的关系组成。
结点的度:结点所有能够有的子树的个数。
树的度:树中各结点度的最大值。
结点的层次:从根节点到树中某一节点所经路径上的分支数称为该节点的层次。规定根节点的层次为1。
树的深度:树中结点的最大层次数。
- 树的逻辑表示
直观表示法:它象日常生活中的树木一样。整个图就象一棵倒立的树,从根结点出发不断
扩展,根结点在最上层,叶子结点在最下面
凹入表示法:每个结点对应一个矩形,所有结点的矩形都右对齐,根结点用最长的矩形表
示,同一层的结点的矩形长度相同,层次越高,矩形长度越短
广义表示法:用广义表的形式表示根结点排在最前面,用一对圆括号把它的子树结点括起来,子树结点用逗号隔开
嵌套表示法:类似数学中所说的文氏图表示法
- 树的存储
双亲表示法:
孩子链表表示法:
孩子兄弟表示法