樹基本介紹

2021-09-28 14:47:55 字數 1350 閱讀 8704

樹是什麼
和陣列、鍊錶一樣,樹也是一種資料結構,只是資料的組織形式不同而已,看下面的示意圖。

圖1:陣列記憶體示意圖

圖2:鍊錶記憶體示意圖

圖3:樹記憶體示意圖

較官方的定義:樹(tree)是n(n>=0)個節點的有限集。n=0時稱為空樹。在任意一顆非空樹中:(1)有且只有乙個稱為根(root)的節點;(2)當n>1時,其餘節點可分為m(m>0)個互不相交的優先順序t1、t2、t3…tm,其中每乙個集合本身又是一棵樹,並且稱為根的子樹(subtree)。

關於第2點:什麼叫互不相交,如圖4、圖5就不是一顆符合定義的樹,因為他們有相交的子樹。

圖4

圖5陣列儲存方式的分析

優點:通過下標方式訪問元素,速度快。對於有序陣列,還可使用二分查詢提高檢索速度。

缺點:如果要檢索具體某個值,或者插入值(按一定順序)會整體移動,效率較低。

*總結:*增刪慢,查詢快。

鏈式儲存方式的分析

優點:在一定程度上對陣列儲存方式有優化(比如:插入乙個數值節點,只需要將插入節點,鏈結到鍊錶中即可, 刪除效率也很好)。

缺點:在進行檢索時,效率仍然較低,比如(檢索某個值,需要從頭節點開始遍歷) 。

*總結:*增刪快,查詢慢。

樹儲存方式的分析

能提高資料儲存,讀取的效率, 比如利用 二叉排序樹(binary sort tree),既可以保證資料的查詢速度,同時也可以保證資料的插入,刪除,修改的速度,中和了陣列和鍊錶的優點,說白了就是提高效率。不明白沒關係,後面慢慢道來。

樹的相關術語

如圖,這是一棵樹(資料結構的樹,不是大樹),可以想象成是將現實中的樹倒了過來。下面以這棵樹介紹樹結構的相關術語。

MySQL 基本介紹

一,mysql 與其他資料庫的簡單比較 1,功能比較 在事務支援方面,雖然 mysql 自己的儲存引擎並沒有提供,但是已經通過第三方外掛程式式儲存引擎innodb 實現了 sql 92 標準所定義的四個事務隔離級別的全部,只是在實現的過程中每一種的實現方式可能有一定的區別,這在當前商用資料庫管理系統...

WinCE基本介紹

windows ce 是為各種嵌入式系統和產品設計的一種壓縮的 具有高效的 可公升級的作業系統 os 其多線性 多工 全優先的作業系統環境是專門針對資源有限而設計的。這種模組化設計使嵌入式系統開發者和應用開發者能夠定做各種產品,例如家用電器,專門的工業控制器和嵌入式通訊裝置。windows ce 支...

GPU基本介紹

基本概念 gpu graphic processing unit 圖形處理單元 gpgpu general purpose computations on gpu 通用計算圖形處理單元 cpu與gpu的相同點 1 都是計算機體系結構中的重要組成部分 2 都是超大規模積體電路元件 3 都能夠完成浮點運...