原文:面試題:為什么用紅黑樹不用普通的AVL樹

在Jdk . 版本后,Java對HashMap做了改進,在鏈表長度大於 的時候,將后面的數據由鏈表改為了存在紅黑樹中,以加快檢索速度。 有疑問為什么是使用紅黑樹而不是AVL樹,AVL樹是完全平衡二叉樹阿 最主要的一點是: 在CurrentHashMap中是加鎖了的,實際上是讀寫鎖,如果寫沖突就會等待,如果插入時間過長必然等待時間更長,而紅黑樹相對AVL樹他的插入更快 問題:為什么不使用AVL樹而使 ...

2021-01-19 14:42 0 439 推薦指數:

查看詳情

AVL

在此之前,我沒有了解過以及AVL tree,真是孤陋寡聞。如果你也在學習的話,我們一起進步。 如果,你很急,那么只看紅色加粗即可。 1.(RB-tree) 是一種特殊的二叉搜索,特殊在它的性質。它是SGI STL(gcc編譯器使用)唯一實現的搜尋,作為關聯式容器 ...

Sat Mar 02 18:35:00 CST 2019 2 1295
Java面試題原理

原理: 每個節點都只能是紅色或黑色的; 根節點是黑色的; 每個葉節點(空節點)是黑色的; 如果一個節點是紅色的,那么他的子節點都是黑色的; 從任意一個節點到其每個子節點的路徑都有相同數目的黑色節點; ...

Sat Feb 23 11:01:00 CST 2019 0 1212
詳解,AVL區別

是一種很經典的數據結構,它可以在O(log n)時間內做查找,插入和刪除。所以倍受關注。但是一直以來很多Java程序員對他都不是很重視,直到在JDK 1.8中,HashMap會將其鏈表轉換成,此后,很多人就開始重新學習的有關知識。 作者在學習時,查閱了很多資料都沒有 ...

Fri Dec 27 18:29:00 CST 2019 1 2198
AVL的區別(轉)

add by zhj: AVL都是平衡二叉樹,雖然AVL是最早發明的平衡二叉樹,但直接把平衡二叉樹等價於AVL,我認為非常不合適。 但很多地方都在這么用。兩者的比較如下 平衡二叉樹類型 平衡度 調整頻率 適用 ...

Fri Jul 12 15:22:00 CST 2019 0 5156
AVL的個人理解

都說編程算法很重要,可真沒見幾個.NET程序員研究算法的。這些日子非主流地研究了一些小算法,AVL算是其中復雜的了,但實際也就二三百行代碼。悲催的是,網上根本找不到C#的理想版本(包括國外網站),寥寥幾個,要么有錯,要么非主流的實現方式。 所謂主流方式,就是用表二叉排序樹 ...

Thu Jun 07 00:25:00 CST 2012 4 16800
標志有什么用

使用二色進行“着色”,目的是利用顏色值作為二叉樹的平衡對稱性的檢查,只要插入的節點“着色”滿足二色的規定,最短路徑與最長路徑不會相差的太遠,的節點分布就能大體上達至均衡。 演示動畫網站:http://www.bbniu.com/matrix ...

Thu Jun 06 04:03:00 CST 2019 0 1964
AVL、splay(伸展)和比較

AVL、splay(伸展)和比較 一、AVL: 優點:查找、插入和刪除,最壞復雜度均為O(logN)。實現操作簡單 如過是隨機插入或者刪除,其理論上可以得到O(logN)的復雜度,但是實際情況大多不是隨機的。如果是隨機的,則AVL 能夠達到比RB更優 ...

Wed Jan 10 04:32:00 CST 2018 0 1616
面試題——輕松搞定面試中的問題

版權所有,轉載請注明出處,謝謝!http://blog.csdn.net/silangquan/article/details/18655795 連續兩次面試都問到了,關鍵兩次都沒有答好,這次就完整地來學習整理一下。 沒有學習過的同學請參考: << ...

Wed Apr 22 01:29:00 CST 2015 2 29054
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM