1. 程式人生 > >樹與二叉樹(數據結構)

樹與二叉樹(數據結構)

二叉樹 n+1 -s 不能 完美性 -1 平衡二叉樹 編號 大於

(1)樹的基本性質

  • 1.樹中的結點數等於所有結點的度數+1。
  • 2.樹中結點的最大度數稱為樹的度。
  • 3.度為m的樹中第i層上至多有mi-1個結點。
  • 4.高度為h的m叉樹至多有(mh-1)/(m-1)個結點。
  • 5.具有n個結點的m叉樹的最小高度math.ceil(logm[n(m-1)+1])

(2)二叉樹的基本性質

  1. 二叉樹是有序樹,次序不能顛倒。
  2. 二叉樹可以為空,但度為2的樹至少有3個結點。
  3. 滿二叉樹:高度h,結點總數為2h-1。【最完美的二叉樹】
  4. 完全二叉樹:僅次於滿二叉樹之後完美的二叉樹。【有一些完美的性質】
  5. 二叉樹排序樹:左子樹小於根節點,右子樹大於根節點。左子樹和右子樹又各是一顆二叉排序樹。
  6. 平衡二叉樹:樹上任一結點的左子樹和右子樹的深度之差不超過1.【最苛刻的二叉樹】

二叉樹的一些完美性質:

  • 1.葉子結點樹等於度為2的結點數+1。即N0=N2+1.
  • 2.非空二叉樹上第K層最多有2k-1個結點。(滿二叉樹)
  • 3.高度為H的二叉樹最多有2H-1個結點。【完美二叉樹、滿二叉樹】
  • 4.對完全二叉樹從1到N標號時:
    1. i>1時,它的雙親結點編號為math.floor(i/2).
    2. 2i<=N時,結點i的左孩子編號為2i,否則無左孩子。2i+1<=N時,結點i的右孩子為2i+1.否則無右孩子。
    3. 結點i所在的深度為math.floor(log2i)+1
  • 5.具有N個結點的完全二叉樹的高度為:math.floor(log2
    N)+1或math.ceil(log2N+1)

樹與二叉樹(數據結構)