[Data Structure & Algrithom] 二叉樹
阿新 • • 發佈:2018-09-24
二叉樹性質 遍歷 點子 表示 高度 波蘭式 深度 col 例如
樹的基本概念
- 度
- 結點的度 - 該結點子樹的個數
- 樹的度 - 該樹中結點的最大度數
- 葉子結點(終端結點) - 終端結點
- 高度/深度/層數 - 該樹的行數
二叉樹
- 滿二叉樹
- 完全二叉樹
- 最多最下面兩層上結點的度數<2
- 最下一層上的結點都集中在該層左邊的位置上
二叉樹性質
- 第i層上的結點數目最多為2i-1 (i ≥ 1)
- 深度為k的二叉樹最多有2k-1個結點(k ≥ 1)
- 任意一顆二叉樹,若0度結點的個數為n0,2度結點的個數為n2, 則n0 = n2 + 1
- 具有n個結點的完全二叉樹的深度為[log2n]+1
二叉樹的遍歷
例如,將中綴表達式(a+b)/c-d+e*f表示為二叉樹
- 前序遍歷 - 前綴表達式(波蘭式)
- 根節點->左子樹->右子樹
- 示例二叉樹的前序遍歷 +-/+abcd*ef
- 特點:第一位一定是根節點
- 中序遍歷 - 中綴表達式
- 左子樹->根節點->右子樹
- 找到根節點後,在其左側的都是左子樹下的結點,在其右側的都是右子樹下的結點
- 後序遍歷 - 後綴表達式(逆波蘭式)
- 左子樹->右子樹->根節點
- 示例二叉樹的後序遍歷:ab+c/d-ef*+
- 特點:最後一位一定是根節點
[Data Structure & Algrithom] 二叉樹