PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Grad-ProbAsk
Re: [理工] [DS] 104台大電機丙 top down insertion
作者:
easonc
(eason)
2016-02-15 10:11:25
※ 引述《easonc (eason)》之銘言:
: 我知道做top down 的insertion是由root開始往下走,
: 遇到full的node就split,然後繼續往下走,重複這個過程。
: 當order是偶數(node滿的時候會有奇數把key,如:2-3-4tree),
: split可以把正中間的key往上放,
: 比中間的key大的key分在右邊的node,
: 比較小的key分在左邊的node;
: 可是當order是奇數(node滿的時候有偶數把key),就不能這樣做了
:
如果有一棵2-3 tree:
7,9
/ | \
5,6 8 10
需要insert 4
如果做的是bottom up的insertion,
應該是把 4 insert到5,6的那個node,再split,再往上檢查看有沒有人需要再split;
但是,
如果是top-down 的 insertion,
應該是
從根開始往下看,發現7,9的node已經滿了,就split 7,9的node
可是只有2個key的node怎麼split,好像都很奇怪
我是不是誤會了甚麼qq
作者:
pups003
(岡本)
2016-02-15 10:27:00
可以split吧,2-3 tree是link數為2 or 3
" target="_blank" rel="nofollow">
作者: easonc (eason)
2016-02-15 10:53:00
多謝~你中間split的過程是怎樣呢?是把4insert到56的node再split,然後5跑進79的node再split一次嗎?
作者:
pups003
(岡本)
2016-02-15 11:33:00
4,7,9 split,然後4到5,6 發現也要 split我是這樣想的喇
作者: easonc (eason)
2016-02-15 11:55:00
可以一步一步畫圖嗎?3Q~感覺好像會有別的case怪怪的
作者:
janus7799
(Janus逍遙)
2016-02-15 11:56:00
2-3 top down應該不用split路徑上的3-node,因為3-node不保證可以分成三個結點。借用樓上的圖,如果delete 6再insert 4,沿途split所有3-node會造成高度不平衡
作者: easonc (eason)
2016-02-15 12:33:00
我也是想到這個情況可是不沿途split 3-node該怎麼insert呢
作者:
dddm49
(芭蕉)
2016-02-15 16:28:00
不是找到正確位置插入後 再看有無overflow 決定是否split嗎
繼續閱讀
[理工] 105交大計系
leo258x
[理工] 105 交大 DS 紅黑樹
yaxauw
[理工] [DS] 104台大電機丙 top down insertion
easonc
Re: [理工] 103台聯大線性代數問題
sky2201
Re: [理工] 103台聯大線性代數問題
sky2201
[理工] 驅動點阻抗法
superdevil
[理工] 103台聯大線性代數問題
sky2201
[生醫] 台大 103生化
howard852963
[理工] [DS]100台大電機丙 多選第十題
Billgaspeed
[理工] [DS] 100台大電機 單選第六題 Trie
Billgaspeed
Links
booklink
Contact Us: admin [ a t ] ucptt.com