目錄
基本概念
1、空樹:沒有任何結點;
2、度:結點的度:結點擁有子樹的個數;樹的度:樹內各結點的度的最大值;
3、層次:樹根為第一層,依次往下增長;
4、有序樹、無序樹:即結點的字數分不分左右先後;
5、森林:m(m>=0)個互不相交的樹組成的集合 。
二叉樹1、概念:滿足(1)本身是有序樹(即分左孩子和右孩子);(2)樹中各節點的度不超過2的樹(只能是0、1、2)。
2、滿二叉樹:除葉子節點外的節點度均為2的二叉樹。
3、完全二叉樹:最後一層節點依次從左到右排布,且將這層節點去掉後剩下的是滿二叉樹的樹稱作完全二叉樹。
即,從滿二叉樹中最深一層從右往左去掉一些節點剩下的二叉樹為完全二叉樹。
二叉樹的儲存結構
1、順序儲存:即用順序表(陣列)從上到下從左到右將二叉樹的節點依次儲存,這種方法只能存完全二叉樹,對於非完全二叉樹,則需要將其先轉換成完全二叉樹方可儲存(不過這種方式較為浪費儲存空間,因為儲存了許多無用節點)。
2、鏈式儲存:即用鍊錶儲存樹,此時則不會存在空間浪費的現象。
二叉樹的遍歷
1、先序:
(1)訪問根節點;
(2)訪問當前節點的左子樹;
(3)若當前節點無左子樹,則訪問當前節點的右子樹;
2、中序:
(1)訪問當前節點的左子樹;
(2)訪問根節點;
(3)訪問當前節點的右子樹;
3、後序:從根節點出發,依次遍歷各節點的左右子樹,直到當前節點左右子樹遍歷完成後,才訪問該節點元素。
以上的「先、中、後」均指的是對於根節點相對於子節點的遍歷順序。
二叉樹 滿二叉樹與完全二叉樹
二叉樹 binary tree 是n n 0 個元素的有限集合,該集合為空或者為由乙個稱為 根 的元素及兩個不相交的 被分別稱為左子樹和右子樹的二叉樹組成 二叉樹的基本特點 每個結點最多有兩棵子樹 左子樹和右子樹是有順序的,且不可顛倒 圖一1 結點 二叉樹中的每乙個元素都稱為結點。通常二叉樹的許多名...
樹與二叉樹
樹是一類重要的非線性資料結構,是以分支關係定義的層次結構 定義 樹 tree 是n n 0 個結點的有限集t,其中 n 0時為空樹 n 0時,有且僅有乙個特定的結點,稱為樹的根 root 當n 1時,其餘結點可分為m m 0 個互不相交的有限集t1,t2,tm,其中每乙個集合本身又是一棵樹,稱為根的...
樹與二叉樹
建立 先序二叉樹,中序二叉樹,後序二叉樹。給定兩種遍歷序列 前序中序或後序中序 重塑二叉樹 遍歷 判斷乙個節點是否存在於二叉樹中 二叉樹的遍歷 先序,中序,後序 遞迴 非遞迴 層次遍歷 從上到下或從下到上列印 zigzag遍歷方式層次遍歷 二叉樹性質 二叉樹中葉子節點的個數 二叉樹第k層節點數目 二...