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

紅黑樹插入與刪除完整演示:20個節點的動態變化圖解

     編輯:關於C語言

理論再詳盡,不如一組完整動畫直觀。本文記錄一個包含20個鍵值的紅黑樹,從空樹開始依次插入,再依序刪除,每一步都生成快照,讓你親眼見證紅黑樹如何通過旋轉與變色維持平衡。

操作序列

插入順序:12 1 9 2 0 11 7 19 4 15 18 5 14 13 10 16 6 3 8 17
刪除順序:同插入順序(依次刪除)

插入過程快照(節選關鍵步驟)

步驟1 步驟2 步驟3 步驟4 步驟5 步驟6 步驟7 步驟8 步驟9 步驟10 步驟11 步驟12 步驟13 步驟14 步驟15 步驟16 步驟17 步驟18 步驟19 步驟20

刪除過程快照(節選關鍵步驟)

刪除1 刪除2 刪除3 刪除4 刪除5 刪除6 刪除7 刪除8 刪除9 刪除10 刪除11 刪除12 刪除13 刪除14

觀察重點

  • 插入時:新節點標紅 → 若父紅則觸發修復 → 叔紅「變色上推」、叔黑配合「旋轉+變色」落地。
  • 刪除時:被刪節點黑且非葉 → 需補償黑高 → 兄弟紅「旋轉轉化」、兄弟黑配合姪子顏色「變色/旋轉」傳遞雙重黑。
  • 每張圖標註了節點顏色、旋轉軸向、變色節點,建議對照《算法導論》第13章情況分類逐幀推演。

這組圖序列可作為教學演示、面試複習、論文配圖素材。建議下載原圖放大查看細節,或自行編寫腳本生成屬於你的紅黑樹動畫。

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