二叉樹由一個根結點或兩棵互不相交的、分別稱爲左子樹和右子樹的子二叉樹構成。node
二叉樹中,若葉子結點數爲 n0,度爲 2 的結點數爲 n2,則有 n0=n2+1。算法
滿二叉樹:一棵深度爲 k 的滿二叉樹(full binary tree)是具備 2k -1 (k≥0)個結點的二叉樹。滿二叉樹每一層的結點數目都達到最大值.數組
徹底二叉樹:一棵具備 n 個結點深度爲 k 的二叉樹,若是它的每個結點都與深度爲 k 的滿二叉樹中編
號爲 1~n 的結點一一對應,則稱這棵二叉樹爲徹底二叉樹(complete binary tree)數據結構
二叉樹的存儲結構有兩種:順序存儲結構和鏈式存儲結構。blog
二叉樹的順序存儲結構適用於徹底二叉樹,對徹底二叉樹進行順序編號,將編號爲 i 的結
點存放在數組下標爲 i-1 的位置上.二叉樹
通常狀況下,採用鏈式存儲結構來存儲二叉樹。每一個結點有 3 個域:終端
訪問根結點,遍歷左子樹,遍歷右子樹。表達式的前綴表示(波蘭式)遍歷
遍歷左子樹,訪問根結點,遍歷右子樹。表達式的中綴表示im
遍歷左子樹,遍歷右子樹,訪問根結點。表達式的後綴表示(逆波蘭式)d3
參考圖書: 《算法與數據結構》