[理工] 102 台大 資演
想請教一個問題
102年的第2-b題
題目問說要如何將這樹轉成紅黑樹
請問大家是怎麼思考這題的呢?
我一開始切入觀點是把它當成空樹
依照2 1 4 3 6 5 8 7的順序去insert
(如果不是這個順序 可能沒辦法做出原題之BST)
然後過程中要隨時保持紅黑樹特性
但看一下之前的文章,好像只是把原本的樹調整為AVL樹這樣的平衡樹
請問大家怎麼想這題呢? 謝謝
PS 請問紅黑樹在插入的過程也會一直保持高度平衡嗎
我插入到5的時候就發現它不是平衡了 有版友可以畫畫看討論一下嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.119.121.6
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1486446774.A.620.html
※ 編輯: cthcsni (140.119.121.6), 02/07/2017 14:04:32
推
02/07 14:09, , 1F
02/07 14:09, 1F
→
02/07 14:09, , 2F
02/07 14:09, 2F
→
02/07 14:13, , 3F
02/07 14:13, 3F
推
02/07 14:14, , 4F
02/07 14:14, 4F
→
02/07 14:14, , 5F
02/07 14:14, 5F
那要如何知道是要將4提上去當root? 提6似乎也可以 提上去後又要如何著色呢?
因為我學到的方法是一個一個新增 新增過程中顏色會依規則改變
而T大您的說法似乎是先將樹做出來,再著色?
※ 編輯: cthcsni (140.119.121.6), 02/07/2017 14:21:34
→
02/07 14:22, , 6F
02/07 14:22, 6F
推
02/07 14:25, , 7F
02/07 14:25, 7F
→
02/07 14:26, , 8F
02/07 14:26, 8F
→
02/07 14:26, , 9F
02/07 14:26, 9F
推
02/07 14:31, , 10F
02/07 14:31, 10F
→
02/07 14:32, , 11F
02/07 14:32, 11F
→
02/07 14:32, , 12F
02/07 14:32, 12F
請問您畫出來是2 6 7 是紅 其它黑嗎? 謝謝
※ 編輯: cthcsni (140.119.121.6), 02/07/2017 14:38:44
推
02/07 14:41, , 13F
02/07 14:41, 13F