日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据结构与算法】平衡二叉树、红黑树

發布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构与算法】平衡二叉树、红黑树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.樹、二叉樹
2.二叉查找樹
3.平衡二叉樹、紅黑樹
4.遞歸樹

一,什么是“平衡二叉查找樹”

1,定義:二叉樹中任意一個節點的左右子樹的高度相差不能大于1。
所以:完全二叉樹,滿二叉樹都是平衡二叉樹,非完全二叉樹也有可能是平衡二叉樹。
2,平衡二叉查找樹不僅滿足上面平衡二叉樹的定義,還滿足二叉查找樹的特點。

3,發明平衡二叉查找樹這類數據結構的初衷是解決普通二叉查找樹在頻繁的插入,刪除等動態更新的情況下,出現時間復雜度退化的問題。
所以,平衡二叉查找樹中“平衡”的意思,其實就是讓整棵樹左右看起來比較“對稱”,比較“平衡”,不要出現左子樹很高,右子樹很矮的情況。這樣就能讓整顆樹的高度相對低一些,相應的插入,刪除,查找等操作的效率高一些。

4,若設計一個新的平衡二叉查找樹,只要樹的高度不比log2n大很多(如樹的高度仍然是對數量級的),盡管它不符合嚴格的平衡二叉查找樹的定義,但它仍然可以被認為是一個合格的平衡二叉查找樹。

二,如何定義一棵“紅黑樹”

1,平衡二叉查找樹有很多,如:Splay Tree(伸展樹),Treap(樹堆)等,但是我們提到平衡二叉查找樹,聽到的基本都是紅黑樹。他的出境率甚至要高于“平衡二叉查找樹”這幾個字,甚至在有些時刻,默認平衡二叉查找樹就是紅黑樹

2,紅黑樹:英文“Red-Black-Tree”,簡稱R-B Tree,有如下特性:
它是一種不嚴格的平衡二叉查找樹。
紅黑樹中的節點,一類別標記為黑色,一類被標記為紅色。

  • 根節點是黑色的;
  • 每個葉子節點都是黑色的空節點(NIL),也就是說,葉子節點不存儲數據;
  • 任何相鄰的節點都不能同時為紅色,即紅色節點都是被黑色節點隔開的;
  • 每個節點,從該節點到達其可達葉子節點的所有路徑,都包含相同數目的黑色節點;

3,二叉查找樹很多操作的性能都跟樹的高度成正比,一課極其平衡的二叉樹(滿二叉樹或完全二叉樹)的高度大約是log2n,所以要證明紅黑樹是近似平衡的,我們只需要分析,紅黑樹的高度是否比較穩定地趨近log2n就好

4,紅黑樹的高度分析
①:首先,若將紅色節點從紅黑樹中去除,那單純包含黑色節點的紅黑樹的高度比包含相同節點個數的完全二叉樹的高度要小。所以去掉紅色節點的“黑樹”的高度也不會超過log2n。
②:在紅黑樹中,紅色節點不能相鄰,即有一個紅色節點就要至少有一個黑色節點,將它更其他紅色節點隔開。
紅黑樹中包含最多黑色節點的路徑不會超過log2n,所以加入紅色節點之后,最長路徑不會超過2log2n,即,紅黑樹的高度近似2log2n
③:紅黑樹的高度只比高度平衡的AVL樹的高度(log2n)僅僅大了一倍,在性能上下降的并不多。

三:工程中大家都喜歡用紅黑樹這種平衡二叉查找樹的原因:

①:Treap,Splay Tree,絕大部分情況下,它們操作的效率都很高,但是也無法避免極端情況下時間復雜度的退化。盡管這種情況出現概率不大,但是對于單次操作時間非常敏感的場景來講,它們不適用。
②:AVL樹是一種高度平衡的二叉樹,所以查找的效率非常高,但是,有利有弊,AVL樹為了維持這種高度平衡,要付出更多代價,每次插入,刪除都要做調整,就比較復雜,耗時。所以有頻繁的插入,刪除操作的數據集合,使用AVL樹的代價就有點高了。
③:紅黑樹只是做到了近似平衡,并不是嚴格的平衡,所以維護平衡的成本上,要比AVL樹低。
所以,紅黑樹的插入,刪除,查找各種操作性能都比較穩定。對于工程應用來說,結果狀態可控可預期。

四、理解紅黑樹源碼

使用遞推思想
暫時無法理解

N、問題

動態數據結構支持動態的數據插入、刪除、查找操作,除了紅黑樹,我們前面還學習過哪些呢?能對比一下各自的優勢、劣勢,以及應用場景嗎?
散列表:插入刪除查找都是O(1), 是最常用的,但其缺點是不能順序遍歷以及擴容縮容的性能損耗。適用于那些不需要順序遍歷,數據更新不那么頻繁的。

跳表:插入刪除查找都是O(logn), 并且能順序遍歷。缺點是空間復雜度O(n)。適用于不那么在意內存空間的,其順序遍歷和區間查找非常方便。

紅黑樹:插入刪除查找都是O(logn), 中序遍歷即是順序遍歷,穩定。缺點是難以實現,去查找不方便。其實跳表更佳,但紅黑樹已經用于很多地方了。

筆記整理來源: 王爭 數據結構與算法之美

總結

以上是生活随笔為你收集整理的【数据结构与算法】平衡二叉树、红黑树的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一级黄色片子 | 精品久久久久久久久久久久 | 日韩欧美小视频 | 3d动漫精品啪啪一区二区竹菊 | 日本一区二区三区在线播放 | 天堂在线免费观看视频 | 久久久久久久久亚洲 | 日韩欧美aaa| 中国超碰 | 国产素人av| 亚洲免费观看 | 自拍天堂 | 国产成人在线播放 | 善良的老师伦理bd中字 | 国产极品探花 | 日韩成人免费电影 | 自拍偷拍亚洲欧美 | 亚洲自拍第三页 | 亚洲精品国产综合 | 草草在线观看视频 | 国产伦一区二区 | 亚洲国产精品va在线看黑人 | 韩日免费av | 亚洲最大成人av | 狠狠操一区二区 | 久精品国产 | 亚洲美女视频在线 | 国产片高清在线观看 | 超碰97在线资源 | 女人性做爰100部免费 | 日韩一区网站 | 婷婷九月 | 久久香蕉网站 | 日韩aa视频 | 丝袜调教91porn | 不卡一二三 | 草啪啪| 一区二区三区丝袜 | 国产精品爱啪在线线免费观看 | 亚洲午夜福利在线观看 | 91久久综合 | 国产精品久久久久久久久久免费 | 麻豆一区二区三区精品视频 | 丁香花电影免费播放在线观看 | 久草电影网站 | 青春草免费视频 | 9999在线视频| 魔女鞋交玉足榨精调教 | 日韩成年人视频 | 在线中文字幕视频 | 日韩有码电影 | 精品视频第一页 | 国产成人无码一二三区视频 | 午夜电影天堂 | 中国极品少妇videossexhd 就要干就要操 | 三上悠亚一区二区在线观看 | 处女朱莉第一次 | 免费黄毛片 | 九色91popny蝌蚪 | 久久影院午夜理论片无码 | 国产视频一区二区视频 | 精品国产一区二区三区在线 | 国产一区二区精华 | 青青操在线观看 | 国产偷人妻精品一区 | 可以免费看污视频的网站 | 国产精品亚洲一区二区三区在线观看 | 你懂的在线观看网站 | 久久黄色网址 | 色老板最新地址 | 熟妇人妻中文字幕 | 黄色动漫在线免费观看 | 亚洲宅男天堂 | 国产人成在线观看 | 91呦呦 | 欧美日韩无 | 欧美成人va| 免费观看成人在线视频 | 久久精品99北条麻妃 | 国产影音先锋 | 久久精品99| 国产深夜福利 | 久久久久久久爱 | 日本黄色一级视频 | 亚洲图片激情小说 | 免费三级大片 | 中文字幕一区二区三区乱码不卡 | 国产99久| 色呦呦视频 | 成人精品视频一区二区三区尤物 | 欧美午夜视频在线观看 | 乳色吐息免费看 | 成人午夜福利一区二区 | 水蜜桃av无码 | 日韩欧美中字 | 国产www在线| 国产一区二区三区四区三区四 | 视频一区二区三区四区五区 | 波多野结衣久久久久 |