首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 資料結構 - 紅黑樹刪除操作完整解析 (上)(6)

     編輯:關於C語言

3.2.3 黑兄紅侄 - 四種旋轉情形

情形1

情形2

情形3

情形4

若兩個侄子皆為紅:情形 1/2 優先 LL 旋轉,情形 3/4 優先 RR 旋轉。

紅黑樹程式碼實作心得

SortedDictionary 底層使用紅黑樹,但 TreeSet 採用預先旋轉/著色的新演算法 (預平衡),插入/刪除前預先調整避免回溯。作者質疑此法在「未命中目標」 (插入重複鍵、刪除不存在鍵) 時產生無用功,決定自行實作傳統回溯式紅黑樹,使用固定長度 64 陣列記錄路徑。重寫過程中遺失刪除代碼但快速重寫並改進,最終完成。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved