二叉樹系列之一(基本概念)
爲什麼要使用二叉樹?
它結合了有序數組和鏈表的優點,樹的查找速度很有序數組一樣快,插入和刪除速度跟鏈表一樣快。
有序數組中,查找快,刪除很插入很慢(查找、後移)
鏈表中查找很慢(從頭查找每一項),插入和刪除很快
滿二叉樹:除根節點和葉子節點外的其他節點都有兩個子節點的二叉樹
完全二叉樹:滿二叉樹從右邊刪除連續個葉子節點
二叉樹的存儲:
1、連續存儲:(轉化爲完全二叉樹)
優點:查找某個父節點或子節點
缺點:耗用內存空間過大
2、 鏈式存儲:
一般二叉樹轉化爲普通二叉樹一定沒有右子樹
先序遍歷:根左右
中序遍歷:左根右
後序遍歷:左右根
通過中序和先序或中序和後序才唯一可確定二叉樹(一定要有中序)
樹的應用:
數據庫 中數據組織的一種重要形式
系統中子進程的關係式一種樹
面型對象中類的繼承關係就是一種樹
搜索二叉樹(左小右大)的查找、插入、刪除(葉子節點、只有一個子節點、有兩個子節點)
二叉樹的層數=深度
二叉樹的度,節點的子樹個數
節點爲n 邊數爲n-1; 則有n-1=n0 +n1+2*n2+3*n3+..+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.