3进制的最大堆就像二进制的最大堆一样,但是节点有2个子节点,而不是2个子节点。三元堆可以用数组表示,如下所示:根存储在第一个位置a [0]中,下一层的节点从左到右从a [1]到a [3]存储]。从[4]位置开始存储树第二层中从左到右的节点。可以通过将x放置在位置a [n]并将其向上推到树上来满足stack属性,将项x插入包含n个项的3元堆中。
假设将元素7、2、10和4依次插入到在上述问题中找到的有效三元最大堆中,以下哪一项是表示结果堆的数组中的项目序列?
(A) 10、7、9、8、3、1、5、2、6、4
(B) 10、9、8、7、6、5、4、3、2、1
(C) 10、9、4、5、7、6、8、2、1、3
(D) 10、8、6、9、7、2、3、4、1、5答案: (A)
说明:插入7之后
9
/ | \
/ | \
7 6 8
/ | \
/ | \
3 1 5
插入2后
9
/ | \
/ | \
7 6 8
/ | \ /
/ | \ /
3 1 5 2
插入10后
10
/ | \
/ | \
7 9 8
/ | \ / |
/ | \ / |
3 1 5 2 6
插入4后
10
/ | \
/ | \
7 9 8
/ | \ / | \
/ | \ / | \
3 1 5 2 6 4
这个问题的测验