樹的定義
樹(Tree):n(n≥0)個結點構成的有限集合。
儅n=0時,稱爲空樹;
對於任何一棵非空樹(n>0),它具備以下性質:
樹中有一個稱爲根(root)的特殊結點,用“r”表示;
其餘結點可以分爲m個互不相交的有限集T1,T2,…,Tm,其中每個集合本身又是一棵樹,稱爲原來樹的“子樹(SubTree)”
性質
子树是不相交的;
除了根结点外,每个结点有且仅有一个父结点;
一棵N个结点的树有N-1条边。
樹的一些基本術語
- 结点的度(Degree):结点的子树个数。
- 树的度:树的所有结点中最大的度数。
- 叶结点(Leaf):度为0的结点。
- 父结点(Parent):有子树的结点是其子树的根结点的父结点。
- 子结点(Child):若A结点是B结点的父结点,则称B结点是A结点的子结点;子结点也
称孩子结点。 - 兄弟结点(Sibling):具有同一父结点的各结点彼此是兄弟结点。
- 路径和路径长度:从结点n1到nk的路径为一个结点序列n1 , n2,… , nk, ni是 ni+1的父结点。路径所包含边的个数为路径的长度。
- 祖先结点(Ancestor):沿树根到某一结点路径上的所有结点都是这个结点的祖先结点。
- 子孙结点(Descendant):某一结点的子树中的所有结点是这个结点的子孙。
- 结点的层次(Level):规定根结点在1层,其它任一结点的层数是其父结点的层数加1。
- 树的深度(Depth):树中所有结点中的最大层次是这棵树的深度。