它或者是一棵空樹;或者是具有下列性質的二叉樹: (1)若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值; (2)若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值; (3)左、右子樹也分別為二叉排序樹;
它或者是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。
性質1. 節點是紅色或黑色。
性質2. 根是黑色。
性質3 每個葉節點是黑色的。
性質4 每個紅色節點的兩個子節點都是黑色。(從每個葉子到根的所有路徑上不能有兩個連續的紅色節點)
性質5. 從任一節點到其每個葉子的所有路徑都包含相同數目的黑色節點。
若設二叉樹的高度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的節點都連續集中在最左邊,這就是完全二叉樹。
完全二叉樹是效率很高的資料結構,堆是一種完全二叉樹,所以效率極高,像十分常用的排序演算法、dijkstra演算法、prim演算法等都要用堆才能優化,幾乎每次都要考到的二叉排序樹的效率也要借助平衡性來提高,而平衡性基於完全二叉樹。
除最後一層外,每一層上的所有結點都有兩個子結點(最後一層上的結點為葉子結點)。也可以這樣理解,除葉子結點外的所有結點均有兩個子結點。節點數達到最大值。所有葉子結點必須在同一層上.
樹的性質篇
樹的性質判斷是樹的資料結構比較基本的操作,一般考到都屬於非常簡單的題目,也就是第一道入門題,面試中最好不能有問題,力求一遍寫對,不要給面試官任何挑刺機會。leetcode中關於樹的性質有以下題目 maximum depth of binary tree minimum depth of binary...
11 1 樹的概述 樹的性質
帶有n個頂點的樹含有n 1條邊 這個很容易理解,每2個頂點之間有1條邊嘛。帶有i個內點的滿m叉樹含有n mi 1個頂點 內點就是該頂點有孩子 這個證明很簡單,因為是滿m叉樹,且有i個內點,所以邊的總數為mi,然後結合上面的定理 n 1 mi,即n mi 1。一 個滿 m叉樹若 有 n個頂點,則有 i...
B 樹(B樹)的性質
b 樹是一種常見的資料結構。和他一起的還有b 樹。在這裡,需要澄清一下概念。b樹,b 樹,b 樹有什麼區別?他們有什麼關係呢?其實,從資料結構來講只有2種,也就是b 樹和b 樹。有時候,b 樹又稱為b樹,他們是乙個東西。請注意,b 樹中間的 是連字元,而不是 減號 英文中是b tree,翻譯成中文後...