教你了解紅黑樹(HashMap 1 8)

2021-09-02 13:02:15 字數 305 閱讀 7152

若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;

若任意節點的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;

任意節點的左、右子樹也分別為二叉查詢樹。

沒有鍵值相等的節點(no duplicate nodes)。

每個結點要麼是紅的要麼是黑的。

根結點是黑的。

每個葉結點(葉結點即指樹尾端nil指標或null結點)都是黑的。

如果乙個結點是紅的,那麼它的兩個兒子都是黑的。

對於任意結點而言,其到葉結點樹尾端nil指標的每條路徑都包含相同數目的黑結點。

了解紅黑樹

既然我們要說紅黑樹,我們就要了解紅黑樹是一種完美自平衡的二叉查詢樹,接下來說一下二叉查詢樹的特點 有點像二分查詢 右子樹的值大於根節點的值 左節點的值小於根節點的值 左右子樹也一定是二叉排序樹 接下來說一下紅黑樹的特點 根節點必須是黑色的 每個節點都有顏色,要麼是紅色,要麼是黑色的 每個葉子的節點都...

從HashMap看紅黑樹

樹上的節點要麼是紅色,要麼是黑色 根節點是黑色 每個葉子節點都是黑色的 所有的葉子節點都是null節點 紅色節點的子節點都是黑色的 任意乙個節點到其子孫葉子節點的黑色節點的數量是相等的。下面是乙個紅黑樹的圖示 從任意節點 不含該節點 到達乙個葉節點的任意一條簡單路徑上的黑色節點個數稱為該節點的黑高 ...

你了解紅黑樹嗎?資料結構 紅黑樹

紅黑樹的介紹 紅黑樹的五條性質 紅黑樹的關鍵操作 引言因為博主最近在學習hashmap的原始碼,因為自從jdk1.8之後,hashmap就是由陣列 鍊錶 紅黑樹實現的,所以為了更深的去了解hashmap的原理,先來帶大家一起複習一下紅黑樹的知識 紅黑樹是乙個平衡二叉樹,但不是絕對完美的平衡二叉樹,紅...