我正在閱讀Eternally confuzzled的紅黑樹教程。當被刪除的黑色節點的兄弟節點是紅色的時候,爲什麼紅色節點的內部子節點不能爲空紅色的黑色樹刪除情況?
在筆者介紹了從RB樹節點的刪除的部分,作者要求讀者找到解釋,練習:
它看到圖中,這是如何通過固定黑色恢復平衡後,很明顯高度,但它爲什麼2變紅是令人困惑的。那麼,紅色必須去某個地方,否則樹的黑色高度會受到影響,我們確信唯一已知的節點可以變成紅色,就是那個特定的孩子。我不記得我是如何找出紅色兄弟姐妹的情況,但我確信酒精是有關的。 :-) 第二個紅色的兄弟姐妹情況看着兄弟姐妹的內在孩子。這個孩子不能是一個空指針(練習:爲什麼?),所以我們只是測試一個孩子,並根據哪一個是紅色行事。如果外部的孩子是紅色的,我們執行了雙旋轉,顏色新的父黑色,其右孩子黑,它的左子紅:
怎麼筆者的結論是兄弟的內孩子不能一個空指針?爲什麼特定的孩子不能成爲空指針?爲什麼不是另一個孩子?
一個確認:兄弟姐妹的內在孩子是指兄弟姐妹孩子的孩子(如大孩子)? – Tippis
如果示例中的所有節點都有左葉節點(黑節點)。那麼wiki中的第5個屬性會被侵犯嗎? – Tippis
在這種情況下,內心的孩子意味着正確的孩子。看看該網站的可視化,左邊的孩子在外面,而右邊的孩子更接近中間(因此「內部」)。是的,第五財產將被違反。 – Dukeling