樹的定義
樹是n(n≥0)個節點的有限集。當n=0時,稱為空樹。在任意一棵非空樹中應滿足:
1)有且僅有一個特定的稱為根的結點。
2)當n>1時,其余節點可分為m(m>0)個互不相交的有限集T?,T?,..Tm,其中每個集合本身又是一棵樹,并且稱為根的子樹。
顯然,樹的定義是遞歸的,即在樹的定義中又用到了其自身,樹是一種遞歸的數據結構。樹作為一種邏輯結構,同時也是一種分層結構,具有以下兩個特點:
1)樹的根結點沒有前驅,除根結點外的所有結點有且只有一個前驅。
2)樹中所有結點可以有零個或多個后繼。
樹適合于表示具有層次結構的數據。樹中的某個結點(除根結點外)較多只和上一層的一個結點(即其父結點)有直接關系,根結點沒有直接上層結點,因此在n個結點的樹中有n-1條邊。而樹中每個結點與其下一層的零個或多個結點(即其子女結點)有直接關系。