成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

紅黑樹查找總結(jié)

UnixAgain / 2697人閱讀

摘要:正由于紅黑樹總保持黑色完美平衡,所以它的查找最壞時(shí)間復(fù)雜度為,也即整顆樹剛好紅黑相隔的時(shí)候。能有這么好的查找效率得益于紅黑樹自平衡的特性,而這背后的付出,紅黑樹的插入操作功不可沒

因?yàn)榧t黑樹是一顆二叉平衡樹,并且查找不會(huì)破壞樹的平衡,所以查找跟二叉平衡樹的查找無異:

從根結(jié)點(diǎn)開始查找,把根結(jié)點(diǎn)設(shè)置為當(dāng)前結(jié)點(diǎn);
若當(dāng)前結(jié)點(diǎn)為空,返回null;
若當(dāng)前結(jié)點(diǎn)不為空,用當(dāng)前結(jié)點(diǎn)的key跟查找key作比較;
若當(dāng)前結(jié)點(diǎn)key等于查找key,那么該key就是查找目標(biāo),返回當(dāng)前結(jié)點(diǎn);
若當(dāng)前結(jié)點(diǎn)key大于查找key,把當(dāng)前結(jié)點(diǎn)的左子結(jié)點(diǎn)設(shè)置為當(dāng)前結(jié)點(diǎn),重復(fù)步驟2;
若當(dāng)前結(jié)點(diǎn)key小于查找key,把當(dāng)前結(jié)點(diǎn)的右子結(jié)點(diǎn)設(shè)置為當(dāng)前結(jié)點(diǎn),重復(fù)步驟2;
非常簡單,但簡單不代表它效率不好。正由于紅黑樹總保持黑色完美平衡,所以它的查找最壞時(shí)間復(fù)雜度為O(2lgN),也即整顆樹剛好紅黑相隔的時(shí)候。能有這么好的查找效率得益于紅黑樹自平衡的特性,而這背后的付出,紅黑樹的插入操作功不可沒

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/74946.html

相關(guān)文章

  • Map集合、散列表、黑樹介紹

    摘要:并且,我們的底層都是紅黑樹來實(shí)現(xiàn)的。紅黑樹是一種平衡二叉樹因此它沒有節(jié)點(diǎn)。 前言 聲明,本文用得是jdk1.8 前面已經(jīng)講了Collection的總覽和剖析List集合: Collection總覽 List集合就這么簡單【源碼剖析】 原本我是打算繼續(xù)將Collection下的Set集合的,結(jié)果看了源碼發(fā)現(xiàn):Set集合實(shí)際上就是HashMap來構(gòu)建的! showImg(https:/...

    2json 評論0 收藏0
  • JDK源碼那些事兒之黑樹基礎(chǔ)上篇

    摘要:用這種范例表示紅黑樹是可能的,但是這會(huì)改變一些性質(zhì)并使算法復(fù)雜。插入會(huì)出現(xiàn)種情況為根節(jié)點(diǎn),即紅黑樹的根節(jié)點(diǎn)。 說到HashMap,就一定要說到紅黑樹,紅黑樹作為一種自平衡二叉查找樹,是一種用途較廣的數(shù)據(jù)結(jié)構(gòu),在jdk1.8中使用紅黑樹提升HashMap的性能,今天就來說一說紅黑樹。 前言 限于篇幅,本文只對紅黑樹的基礎(chǔ)進(jìn)行說明,暫不涉及源碼部分,大部分摘抄自維基百科,這里也貼出對應(yīng)鏈接...

    qylost 評論0 收藏0
  • 解讀 Java 8 HashMap

    摘要:在二叉查找樹強(qiáng)制一般要求以外,對于任何有效的紅黑樹增加了如下的額外要求節(jié)點(diǎn)是紅色或黑色。紅黑樹有哪些應(yīng)用場景內(nèi)核和系統(tǒng)調(diào)用實(shí)現(xiàn)中使用的完全公平調(diào)度程序使用紅黑樹。 前言 這篇文章是記錄自己分析 Java 8 的 HashMap 源碼時(shí)遇到的疑問和總結(jié),在分析的過程中筆者把遇到的問題都記錄下來,然后逐一擊破,如果有錯(cuò)誤的地方,希望讀者可以指正,筆者感激不盡。 疑問與解答 什么是 initia...

    番茄西紅柿 評論0 收藏0
  • 解讀 Java 8 HashMap

    摘要:在二叉查找樹強(qiáng)制一般要求以外,對于任何有效的紅黑樹增加了如下的額外要求節(jié)點(diǎn)是紅色或黑色。紅黑樹有哪些應(yīng)用場景內(nèi)核和系統(tǒng)調(diào)用實(shí)現(xiàn)中使用的完全公平調(diào)度程序使用紅黑樹。 前言 這篇文章是記錄自己分析 Java 8 的 HashMap 源碼時(shí)遇到的疑問和總結(jié),在分析的過程中筆者把遇到的問題都記錄下來,然后逐一擊破,如果有錯(cuò)誤的地方,希望讀者可以指正,筆者感激不盡。 疑問與解答 什么是 initia...

    番茄西紅柿 評論0 收藏0
  • 解讀 Java 8 HashMap

    摘要:在二叉查找樹強(qiáng)制一般要求以外,對于任何有效的紅黑樹增加了如下的額外要求節(jié)點(diǎn)是紅色或黑色。紅黑樹有哪些應(yīng)用場景內(nèi)核和系統(tǒng)調(diào)用實(shí)現(xiàn)中使用的完全公平調(diào)度程序使用紅黑樹。 前言 這篇文章是記錄自己分析 Java 8 的 HashMap 源碼時(shí)遇到的疑問和總結(jié),在分析的過程中筆者把遇到的問題都記錄下來,然后逐一擊破,如果有錯(cuò)誤的地方,希望讀者可以指正,筆者感激不盡。 疑問與解答 什么是 initia...

    chenjiang3 評論0 收藏0

發(fā)表評論

0條評論

UnixAgain

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<