二叉樹:每個節點最多含有兩個子樹。
完全二叉樹:對於一顆二叉樹,深度爲d(d>1),除了第d層,其他各層節點數目均已達最大值,且第d層所有節點從左向右連續緊密排列。
滿二叉樹:所有葉子節點都在最底層的完全二叉樹。
二叉樹的存儲:二叉樹通常以鏈式存儲。
二叉樹性質:
1. 在二叉樹第i層,最多隻有個節點.
2.深度爲k的二叉樹最多有個節點.
3.對於任意一顆二叉樹,葉子節點數爲N0,度數爲2的節點總數爲N2,則N0=N2+1.
4.具有n個節點的完全二叉樹的深度爲log2(n+1).
5.對於完全二叉樹,若從上至下,從左至右編號,則編號爲i的節點,左子樹的編號必爲2i,右子樹編號比爲2i+1,雙親編號必爲i/2(i=1時爲根除外).
二叉樹的深度遍歷:
1. 先序遍歷:先根問跟節點,然後遞歸使用先序遍歷訪問左子樹,再遞歸使用先序遍歷訪問右子樹。
根節點->左子樹->右子樹
2.中序遍歷:遞歸使用中序遍歷訪問左子樹,然後訪問根節點,最後遞歸使用中序遍歷訪問右子樹。
左子樹->根節點->右子樹
3.後序遍歷:遞歸使用後序遍歷訪問左子樹和右子樹,最後訪問根節點。
左子樹->右子樹->根節點