📜  门| GATE-CS-2006 |第 77 题

📅  最后修改于: 2021-09-26 03:22:45             🧑  作者: Mango

三元最大堆类似于二元最大堆,但节点有 3 个子节点,而不是 2 个子节点。一个三元堆可以用数组表示如下:根存放在第一个位置a[0],下一层的节点,从左到右,存放从a[1]到a[3 ]。树的第二层从左到右的节点从 [4] 位置开始存储。通过将 x 放在位置 a[n] 并将其向上推到树以满足堆属性,可以将项 x 插入包含 n 个项的 3 元堆中。

假设将元素 7、2、10 和 4 按此顺序插入到上述问题中找到的有效 3-ary 最大堆中,以下哪一项是表示结果堆的数组中的项目序列?

(一) 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答案:(一)
说明:插入 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

这个问题的测验