資料結構(C )樹的基礎

2021-09-29 03:11:03 字數 841 閱讀 2800

樹:n(n≥0)個結點的有限集合。

當n=0時,稱為空樹;

任意一棵非空樹滿足以下條件:

⑴ 有且僅有乙個特定的稱為根的結點;

⑵ 當n>1時,除根結點之外的其餘結點被分成m(m>0)個互不相交的有限集合t1,t2,… ,tm,其中每個集合又是一棵樹,並稱為這個根結點的子樹。

樹的定義採用遞迴方法

結點的度:結點所擁有的子樹的個數。

樹的度:樹中各結點度的最大值。

葉子結點:度為0的結點,也稱為終端結點。

分支結點:度不為0的結點,也稱為非終端結點。

孩子、雙親:樹中某結點子樹的根結點稱為這個結點的孩子結點,這個結點稱為它孩子結點的雙親結點;

兄弟:具有同乙個雙親的孩子結點互稱為兄弟。

路徑:如果樹的結點序列n1, n2, …, nk有如下關係:結點ni是ni+1的雙親(1<=i路徑長度。

祖先、子孫:在樹中,如果有一條路徑從結點x到結點y,那麼x就稱為y的祖先,而y稱為x的子孫。

結點所在層數:根結點的層數為1;對其餘任何結點,若某結點在第k層,則其孩子結點在第k+1層。

樹的深度:樹中所有結點的最大層數,也稱高度。

層序編號:將樹中結點按照從上層到下層、同層從左到右的次序依次給他們編以從1開始的連續自然數。

有序樹、無序樹:如果一棵樹中結點的各子樹從左到右是有次序的,稱這棵樹為有序樹;反之,稱為無序樹。

資料結構中討論大多是有序樹

森林:m (m≥0)棵互不相交的樹的集合。

同構:對兩棵樹,若通過對結點適當地重新命名,就可以使這兩棵樹完全相等(結點對應相等,結點對應關係也相等),則稱這兩棵樹同構。

C 資料結構 樹

樹的定義是遞迴的,用樹來定義樹。因此,樹 以及二叉 樹 的許多演算法都使用了遞迴。結點 node 表示樹中的資料元素。結點的度 degree of node 結點所擁有的子樹的個數。樹的度 degree of tree 樹中各結點度的最大值。葉子結點 leaf node 度為 0 的結點,也叫終端結...

資料結構基礎之樹

樹 1,一些基本概念 樹是n個結點的有限集,n 0時稱為空樹。在任意一棵非空樹中 有而且只有乙個特定的稱為根 root 的結點 當n 1時,其餘結點為m個互相不交的有限集,其中每乙個集合又是一棵樹,並且成為根的子樹。結點的分類 結點擁有的子樹稱為結點的度,度為0的結點稱為葉結點或終端結點 度不為0的...

演算法基礎 資料結構 樹

我們就先從樹的儲存看起吧。以字母為例,先建立乙個根節點,然後向右建立子節點,並在最後的字串的結尾處進行標記。好了,上模板 取自acwing int son n 26 cnt n idx 0號點既是根節點,又是空節點 son儲存樹中每個節點的子節點 cnt儲存以每個節點結尾的單詞數量 插入乙個字串 v...