1. 程式人生 > >C語言資料結構——樹的定義

C語言資料結構——樹的定義

樹是n個結點的有限集。n等於0是稱為空樹,在任意一棵非空樹中,有且僅有 一個特定的稱為根的結;當n>1時,其餘節點可分為m(m>0)個互不相交的有限集,其中每個集合本身又是一棵樹,並且稱為根的子樹。
樹的結點包含一個數據元素和n個指向其子樹的分支。結點擁有的子樹數稱為結點的度。度為0的結點稱為葉結點或終端結點;度不為0的點稱為非終端結點或分支結點。除根節點之外,分支結點也稱為內部節點。樹的度是樹內各節點度的最大值。
結點的子樹的根稱為該節點的孩子,該節點稱為孩子的雙親。同一個雙親的孩子之間互稱為兄弟。結點的祖先是從根到該節點所經分支上的所有結點。以某節點為根的子樹中的任意節點都稱為該節點的子孫。
樹的層次從根開始定義起,根為第一層,根的孩子為第二層。雙親在同一層的結點互稱為堂兄弟。樹中樹的最大層次稱為樹的高度或深度。
若將樹中結點的各子樹看成從左至右是有次序的,不能互換的,則稱該樹為有序樹,否則稱為無序樹。
森林是m(m>=0)棵互不相交樹的集合。