概念
- 二叉樹(binary tree)是每一個節點最多隻有兩個分支(即不存在分支度大於2的節點)的結構樹。一般分支被稱爲「左子樹」和「右子樹」,左子樹和右子樹的位置不能隨意顛倒。二叉樹的第i層 最多有個節點;
- 滿二叉樹:深度爲k的二叉樹至多 總共有 個節點(定義根節點所在的深度 );當深度爲k的二叉樹有 個節點時,稱爲「滿二叉樹」。
- 徹底二叉樹:一棵二叉樹至多隻有最下面的兩層上的結點的度數能夠小於2,而且最下層上的結點都集中在該層最左邊的若干位置上,則此二叉樹成爲徹底二叉樹,而且最下層上的結點都集中在該層最左邊的若干位置上,而在最後一層上,右邊的若干結點缺失的二叉樹,則此二叉樹成爲徹底二叉樹 。
遍歷
前(先)序、中序、後序遍歷
遍歷二叉樹:L、D、R分別表示遍歷左子樹、訪問根結點和遍歷右子樹,則先(根)序遍歷二叉樹的順序是DLR,中(根)序遍歷二叉樹的順序是LDR,後(根)序遍歷二叉樹的順序是LRD。還有按層遍歷二叉樹。這些方法的時間複雜度都是O(n),n爲結點個數。spa
對二叉樹:進行遍歷,blog
先序(前序):一、二、四、八、九、五、十、十一、三、六、十二、1三、七、1四、15二叉樹
中序:八、四、九、二、十、五、十一、一、十二、六、1三、三、1四、七、15遍歷
後序:八、九、四、十、十一、五、二、十二、1三、六、1四、1五、七、三、1方法