1. 程式人生 > >郝斌資料結構入門--P60--樹的定義與分類

郝斌資料結構入門--P60--樹的定義與分類

郝斌資料結構入門--P60--樹

 

樹和森林就是以遞迴的方式定義的。

樹和圖的很多演算法都是以遞迴來實現的。

 

非線性結構-----樹

樹的定義

專業定義:

1.有且只有一個稱為根的節點

2.有若干個互不相交的子樹,這些子樹本身也是一棵樹

通俗的定義:

1.樹是由節點和邊組成

2.每個節點只有一個父節點,但可以有多個子節點

3.但有一個節點例外,該節點沒有父節點,此節點稱為根節點

專業術語:

節點、父節點、子節點、子孫、堂兄弟、

深度:從根節點到最底層節點的層數

葉子節點:沒有子節點的節點

非終端節點:實際就是非葉子節點

度:子節點的個數

 

樹的分類

一般樹:任意一個節點的子節點的個數不受限制

二叉樹:任意一個節點的子節點個數最多兩個,且子節點的位置不可更改

二叉樹的分類:

       一般二叉樹:

       滿二叉樹:在不增加樹的層數的前提下,無法再多新增一個節點的二叉樹

       完全二叉樹:如果只是刪除了滿二叉樹最底層最右邊的連續若干個節點,形成了的二叉樹

(完全二叉樹包含了滿二叉樹,滿二叉樹是完全二叉樹的一個特例)

森林:n個互不相交的樹的集合