我不确定我是否正确理解2-3树的插入过程。说我有树:
我想将值95插入其中,这是否是适当的新树?
答案 0 :(得分:1)
是的,这是正确的。
插入95会将3个孩子放在最右边的叶子中(不允许)
40
/ \
20 60, 80
/ \ / | \
10 30 50 70 90,95,100 <- not valid
叶子中的3个节点使95移动到父节点,但现在父节点中有3个节点:
40
/ \
20 60,80,95 <- not valid
/ \ / | \
10 30 50 70 90,100
向上移动95会导致父节点分裂:
40
/ \
20 80
/ \ / \
10 30 60 95
/ \ / \
50 70 90 100 valid
答案 1 :(得分:0)
这是不正确的。 2-3树的高度是一致的,因此你将分裂父母而不是孩子。
答案 2 :(得分:0)
我认为你错了。你违反了一个关于2-3树的事实:所有的树叶都有相同的深度。 参考: http://pages.cs.wisc.edu/~vernon/cs367/notes/10.23TREE.html#operations
这是我想到的插入痕迹:
如果这不正确,请告诉我。