Re: [理工] [資結]- 2-3 tree的刪除問題

看板Grad-ProbAsk作者 (阿志)時間16年前 (2010/01/03 22:26), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/1
※ 引述《chenbojyh (阿志)》之銘言: ※ 引述《GraffitiK (GraffitiK)》之銘言: : 75 : / \ : 35 85 : / \ / \ : 15 50 80 96 : 請問像是以上這種2-3 tree,要刪掉的node位置分別為75和35時,該怎麼操作呢? : 謝謝! 刪75 80 35,80 / \ / │ \ 35 85 -> 15 50 85,96 / \ \ 15 50 96 刪35 35,80 80 / │ \ -> / \ 15 50 85,96 15,50 85,96 應該是這個樣子.....

01/03 13:46,
找左子最大~~或右子最小~~其他調整一樣
01/03 13:46

01/03 19:34,
這樣對嘛?看起來怪怪的
01/03 19:34
刪35應該是這樣才對 35,80 50,85 / │ \ -> / │ \ 15 50 85,96 15 80 96 sorry 之前寫錯 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.129.123

01/03 23:47, , 1F
? 可是刪35的部分我寫的和之前的一樣欸, 欲刪的點若在非
01/03 23:47, 1F

01/03 23:47, , 2F
葉節點的話, 先和左子樹最大或右子樹最小作交換, 再用刪
01/03 23:47, 2F

01/03 23:47, , 3F
leaf的方式刪. 假設35和50交換之後, 15再和50 combine,
01/03 23:47, 3F

01/03 23:47, , 4F
結果就變成像之前的那個答案.. 還是因為一定要先用
01/03 23:47, 4F

01/03 23:48, , 5F
rotation的方式??
01/03 23:48, 5F

01/04 00:02, , 6F
可是如果再新增回去怎麼怪怪的 我錯了嗎?
01/04 00:02, 6F

01/04 09:43, , 7F
我也在想 刪35好像怪怪的
01/04 09:43, 7F

01/04 21:39, , 8F
我覺得一開始刪75好像也怪怪的@@
01/04 21:39, 8F
文章代碼(AID): #1BGAaRuY (Grad-ProbAsk)