樹和圖公司招聘要求是:僞算法
一.樹的定義
定義:1.有且只有一個稱爲根的節點 2.有若干個互不相交的子樹,這些子樹本身也是一顆樹。
通俗的樹:
1.樹由節點和邊(指針域)組成。
2.每個節點只有一個父節點但可以有多個子節點,但有一個節點例外,該節點沒有父節點,此節點成爲根節點。
專業術語:
節點 父節點 子節點 子孫 堂兄弟
深度:從根節點到最底層的層數 ,根節點是第一層。
葉子節點 :沒有子節點的節點。
非終端節點:實際就是非葉子節點,即有子節點 。
度:子節點的個數,整個樹的度取最大值。
在這裏插入圖片描述
有層次觀點的是一顆樹。
二.樹的分類
1.一般樹:任意一個節點的子節點的個數都不受限制
2.二叉樹(常用):任一一個節點的子節點的個數最多兩個,且子節點的位置不可更改。二叉樹是個有序樹 。二叉樹分爲一般二叉樹和滿二叉樹(每一層上的節點數都是最大的節點數)。完全二叉樹:如果只是刪除了滿二叉樹最底層最右邊的連續若干個節點形成的二叉樹。滿二叉樹是完全二叉樹的一個特例。
3.森林:n個互不相交的樹的集合。
三.樹的存儲
二叉樹的存儲分爲連續存儲(以數組方式儲存,完全二叉樹)和鏈式存儲。

在這裏插入圖片描述
連續存儲需要存儲無用節點,否則二叉樹的結構不可知,所以要把普通二叉樹,轉換成完全二叉樹。
完全二叉樹知道節個數可以知道樹的深度,知道編號可以知道子節點和父節點,缺點是浪費內存,耗用內存空間過大。
一般樹的存儲:轉化成二叉樹存儲.
雙親表示法
孩子表示法
雙親孩子表示法
二叉樹表示法

森林的存儲 :轉化爲二叉樹存儲。

四.樹的操作

五.樹的應用

參考資料:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章