二叉樹系列之一(基本概念)

爲什麼要使用二叉樹?
  它結合了有序數組和鏈表的優點,樹的查找速度很有序數組一樣快,插入和刪除速度跟鏈表一樣快。
    有序數組中,查找快,刪除很插入很慢(查找、後移)
    鏈表中查找很慢(從頭查找每一項),插入和刪除很快


滿二叉樹:除根節點和葉子節點外的其他節點都有兩個子節點的二叉樹
完全二叉樹:滿二叉樹從右邊刪除連續個葉子節點

二叉樹的存儲:
     1、連續存儲:(轉化爲完全二叉樹)
        優點:查找某個父節點或子節點
        缺點:耗用內存空間過大

     2、 鏈式存儲:

一般二叉樹轉化爲普通二叉樹一定沒有右子樹

先序遍歷:根左右
中序遍歷:左根右
後序遍歷:左右根

通過中序和先序或中序和後序才唯一可確定二叉樹(一定要有中序)

樹的應用:
    數據庫 中數據組織的一種重要形式
   系統中子進程的關係式一種樹
面型對象中類的繼承關係就是一種樹

搜索二叉樹(左小右大)的查找、插入、刪除(葉子節點、只有一個子節點、有兩個子節點)

二叉樹的層數=深度 

二叉樹的度,節點的子樹個數
節點爲n 邊數爲n-1; 則有n-1=n0 +n1+2*n2+3*n3+..+

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