二叉搜索樹:平衡的藝術(shù)

最近一段時間,一時興起,重新刷了leetcode,順便重新溫習二叉搜索樹相關(guān)的知識,對它的理解更上一層樓。二叉搜索樹是非常優(yōu)雅的數(shù)據(jù)結(jié)構(gòu),有非常出色的時間復雜度,而且應用也非常廣泛!

每種數(shù)據(jù)結(jié)構(gòu)都有它獨特的特性。跟數(shù)組和鏈表相比, 二叉搜索樹的優(yōu)勢在哪里??那么二叉搜索樹的用途是什么??最后一個比較深刻的問題: 二叉搜索樹的本質(zhì)是什么??

要回答這個問題, 我們先看看數(shù)組、鏈表、二叉搜索樹有哪些特性,以及它們的比較。

下面, 考慮一個場景:?

一組已順序排序的整數(shù)序列, 分別用 數(shù)組, 鏈表, 二叉搜索樹 存儲, get, insert, delete 操作的時間復雜度分別是多少。

現(xiàn)在定義如下函數(shù):

get(int value);

insert(int value);// 插入一個值,整數(shù)序列仍然是順序排序?

delete(int value);// 刪除一個值,整數(shù)序列仍然是順序排序?

不同的存儲結(jié)構(gòu),時間復雜度分別如下:

數(shù)組:時間復雜度O(log2n), insert時間復雜度O(n),delete時間復雜度O(n)

鏈表:get時間復雜度O(n), insert時間復雜度O(n),delete時間復雜度O(n)?

二叉搜索樹:get時間復雜度O(log2n), insert時間復雜度O(log2n),delete時間復雜度O(log2n)(這里有一個前提:該二叉搜索樹是平衡的)

對于順序序列的數(shù)據(jù)操作,?二叉搜索樹簡直吊打數(shù)組和鏈表。?

但是仔細分析,其實二叉搜索樹是數(shù)組和鏈表的集大成者, 吸收其精華!

數(shù)組最大的特性是連續(xù)存儲, 基于這個特性, 可以利用二分查找, 使get復雜度為O(log2n)。 而二叉搜索樹的get操作從本質(zhì)上來說也是二分查找, 從這一點來說和數(shù)組的二分查找有異曲同工之妙!

而二叉搜索樹利用了鏈表的特性(已知一個節(jié)點,insert和delete的時間復雜度為O(1)), 使得insert和delete時間復雜度都為O(log2n)。

所以, 二叉搜索樹的本質(zhì)是: 集成了數(shù)組和鏈表的優(yōu)勢, 是一種藝術(shù)的平衡!

正是因為二叉搜索樹有太優(yōu)秀的時間復雜度, 具有廣泛的應用。 如:基于二叉樹的紅黑樹和AVL樹,在操作系統(tǒng), 數(shù)據(jù)庫等領(lǐng)域有廣泛的應用。

如有錯誤,煩請批評指正,不勝感激!轉(zhuǎn)載請明確標注轉(zhuǎn)載并附上文章具體網(wǎng)址,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 一些概念 數(shù)據(jù)結(jié)構(gòu)就是研究數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)以及它們之間相互關(guān)系,并對這種結(jié)構(gòu)定義相應的運算,而且確保經(jīng)過這...
    Winterfell_Z閱讀 6,615評論 0 13
  • 1 概述 二叉搜索樹,顧名思義,其主要目的用于搜索,它是二叉樹結(jié)構(gòu)中最基本的一種數(shù)據(jù)結(jié)構(gòu),是后續(xù)理解B樹、B+樹、...
    CodingTech閱讀 3,205評論 5 35
  • B樹的定義 一棵m階的B樹滿足下列條件: 樹中每個結(jié)點至多有m個孩子。 除根結(jié)點和葉子結(jié)點外,其它每個結(jié)點至少有m...
    文檔隨手記閱讀 13,703評論 0 25
  • 《詠周有光》 ----紀念周老辭世一周年 溫志齡 期頤名宿開微...
    碧野牧歌閱讀 141評論 0 3
  • 又綠南國 步履幽靜 那是花圃里織著的 暖暖的春 是草地鋪滿的 綠綠的春 又是伊人指尖那支 獨秀的春 點綴了 曾經(jīng),...
    碎文軒閱讀 216評論 1 1

友情鏈接更多精彩內(nèi)容