📜  门| GATE CS 1997 |第32章

📅  最后修改于: 2021-06-28 21:21:06             🧑  作者: Mango

优先级队列Q用于实现存储字符的堆栈S。 PUSH(C)实现为INSERT(Q,C,K),其中K是由实现选择的适当整数键。 POP被实现为DELETEMIN(Q)。对于一系列操作,选择的键在
(A)递增顺序
(B)非递减顺序
(三)严格增加秩序
(四)严格降序答案: (D)
说明:我们正在使用Priority Queue实现STACK。请注意,堆栈实现始终是先进先出(LIFO)顺序。

如给定的“ POP实现为DELETEMIN(Q)”,这意味着Stack始终返回最小元素。

因此,我们需要使用INSERT(Q,C,K)来实现PUSH(C),其中K是从严格递减的顺序中选择的键(只有此顺序才能确保当我们弹出元素时堆栈将返回最小的元素)。这将满足堆栈的后进先出(LIFO)属性。

就是答案,选项(D)是正确的。

选项(A)的非递增顺序不能成立,因为两个相同(相同)的数字不能具有相同的优先级,因为每个数字的优先级都应区分。

这个问题的测验