數據結構-樹的概念

1.樹的概念:

節點的度:一個節點含有子樹的個數

樹的度:一個樹裏,最大的節點的度稱爲樹的度

葉節點:度爲0的節點

樹的高度或者深度:樹中節點的最大層次

子孫:以某節點爲根的節點都稱爲該根節點的子孫

森林:m棵不相交的樹

2.樹的種類:

無序樹:樹中任意節點之間沒有順序關係,稱爲無序樹,又稱自由樹

有序樹:樹中任意節點之間有順序關係,

  • 二叉樹:每個節點最多含有兩個子樹
    • 完全二叉樹:對於一顆二叉樹,假設其深度爲d,除了d層以外,其他各層的節點數目均已達到最大值2.且d層的葉子節點是從左往右連續的緊密的排序.
    • 滿二叉樹:葉子節點只在d層的完全二叉樹
    • 平衡二叉樹:(AVL)當且僅當任何節點的兩個子樹的高度差不超過1時的二叉樹
    • 排序二叉樹:(二叉查找樹)二叉搜索樹,有序二叉樹(左邊的比根節點小,右邊的比根節點大)
  • 哈夫曼樹:(用於信息編碼)帶權路徑最短的二叉樹
  • B樹:一種對讀寫操作進行優化的自平衡的二叉查找樹,能夠保持數據有序,擁有多餘兩個子樹

二叉樹的性質:

 

3.應用場景

1.xml,html等,那麼編寫這些東西的解析器的時候,會用到樹

2.路由協議就是使用了樹的算法

3.MySQL數據庫索引

4.文件系統目錄結構

5.機器學習中的 decision tree

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章