- 樹是n個結點的有限集,當n=0時,稱為空樹。
- 樹是一種遞歸的數據結構,樹作為一種邏輯結構同時也是一種分層的結構
- 結點的深度是從根開始自頂向下累加;結點的高度是從葉結點自底向上累加
- 由于樹中的分支是有向的,即從雙親指向孩子,所以樹中的路徑是從上向下的,同一雙親的兩個孩子之間不存在路徑
- 樹的結點數等于所有結點度數和加1
- 度為m的樹中第i層上至多有pow(m,i-1)個結點
- 高度為h的m叉樹至多有pow(m,h)-1/(m-1)個結點
- 樹的路徑長度是從樹根到每個結點的路徑長度的總和
- 二叉樹是有序樹,二叉樹可以為空
- 一顆高度為h且含有pow(2,h)-1個結點的二叉樹為滿二叉樹,每層結點為pow(2,h-1)
- 完全二叉樹葉子結點只可能出現在最大的兩層上;若有度為1的結點只可能有一個且在左孩子上
- 非空二叉樹上的葉子結點數等于度為2的結點數加1,即n0=n2+1
- 具有n個結點的完全二叉樹的高度為log(n+1)或logn+1
- 二叉樹的遍歷分為先序、中序、后序遍歷
- 二叉樹的線索化是將二叉鏈表中的空指針改為指向前驅或后繼的線索。而前驅或后繼的信息只有在遍歷時才能得到,因此線索化的實質是遍歷一次二叉樹
- 引入線索二叉樹的目的是加快查找結點的前驅或后驅的速度
- 樹轉二叉樹:在兄弟結點之間加一連線;對每個結點只保留它與第一個孩子的連線;以樹根為軸心順時針旋轉45°
- 二叉排序樹的刪除:若為葉節點則直接刪除;若只有左或右則讓子樹代替;若有左和右則在右孩子找中序第一個填補
- 從樹的根到任意結點的路徑長度與該結點上權值的乘積稱為該節點的帶權路徑長度
- 樹中所有葉節點的帶權路徑長度和稱為該樹的帶權路徑長度
- 構造哈夫曼樹的過程共新建了n-1個結點,因此哈夫曼樹的結點總數為2n-1
- 在二叉排序樹中進行查找的效率與二叉排序樹的深度有關