樹、二叉樹基礎

來源:互聯網
上載者:User

標籤:樹   二叉樹   資料結構   

前言

前面介紹的棧、隊列都是線性結構(linear structure)。而樹是非線性結構(non-linear structure)。因此,樹中的元素之間一般不存在類似於線性結構的一對一的關係,更多地表現為多對多的關係。直觀地看,它是資料元素(在樹中稱為節點)按分支關係組織起來的結構。顯然,樹形結構是比線性結構更複雜的一種資料結構類型。

一、樹

樹的定義:樹是含有n個節點的有窮集合,其中有一個節點比較特殊稱為根節點。在圖示樹時,用一條邊串連兩個有邏輯關係的節點,這個關係被稱為父子關係。

二、二叉樹

二叉樹(Binary Tree)由節點的有限集合構成。這個集合或者為空白集,或者為由一個根節點(root)和兩棵互不相交,分別稱為這個根的左子樹(left subtree)和右子樹(right subtree)的二叉樹組成的集合。

一棵二叉樹的:


三、樹和二叉樹的主要區別
  1. 樹中節點的最大度數沒有限制,而二叉樹節點的度不超過2。
  2. 樹中節點的孩子節點,無左右之分,而二叉樹中是有區分的,即孩子是有區別的:左孩子、右孩子,且次序不可顛倒。
  3. 樹的結點個數至少為1,而二叉樹的結點個數可以為0。
四、常見概念
  1. 節點的度:某節點的度定義為該節點孩子節點的個數。
  2. 葉子節點:度為0的節點。
  3. 樹的度:一棵樹中,最大的節點的度稱為樹的度。
  4. 節點的高度:從該節點起到葉子節點的最長簡單路徑的邊數。(簡單路徑:無重複邊的路徑)
  5. 樹的高度:根節點的高度。
  6. 節點的層數:從根開始定義起,根為第1層,根的子節點為第2層,以此類推。
  7. 數的層數:根節點的層數。
  8. 節點的深度:即該節點的層數。
  9. 樹的深度:根節點的深度。
  10. 外節點:葉子節點。
  11. 內節點:除葉子節點之外的節點。
  12. 滿二叉樹:二叉樹中節點的度只能是0或2。
  13. 完全二叉樹:除最後一層,每一層的節點數都達到最大。最後一層若是沒滿,則節點集中在左邊,空的只能是右邊。
註:關於樹深度、層數、高度的定義會有不同的說法:有從0開始計數的,也有從1開始計數的。從哪兒開始計數不是關鍵,關鍵在於一致性,量的寫法要一致。
五、幾個量的關係
  1. 對於二叉樹,根節點是第一層,則第i層至多有個結點。若共有k層,則最多有節點個。
  2. 按層次順序對一棵有n個節點的完全二叉樹的所有節點從0到n-1編號。若父節點的編號是i,則左孩子的編號是2*i+1,右孩子的編號是2*i+2。(當然,這是在存在左右孩子的情況下)。同樣的,若孩子(無論左右孩子)節點是i,則父節點是(i-1)/2。
  3. 對於一棵滿二叉樹,外部節點或者說是葉子節點數是n,則內部節點數是n-1。
  4. 對於一棵二叉樹,用ni表示度為i的節點個數,則n0=n2+1。證明如下:總節點數n=n0+n1+n2。用e表示邊數,則n=e+1,這是因為除根節點外,每一個節點都和一條邊對應。同時,e=2n2+n1,推出n0+n1+n2=2n2+n1+1,化簡即得n0=n2+1。這個結論用語言表述:二叉樹中,葉子節點比度為2的節點多一個。
  5. 有n個節點的完全二叉樹,樹高度,即logn向下取整,高度從0計數。
  6. 在二叉樹中,第i層的第一個節點(最左邊的節點)的編號是,層數從0計數。這個量在選擇排序:樹形選擇中用到了。
六、


專欄目錄:資料結構與演算法目錄



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.