📜  数据结构和算法 |设置 9

📅  最后修改于: 2021-09-27 22:46:07             🧑  作者: Mango

GATE CS 考试中已提出以下问题。

1 在具有 n 个元素且根元素最小的堆中,可以及时找到第 7 个最小元素(GATE CS 2003)
a) Θ(n log n)
b) Θ(n)
c) Θ(log n)
d) Θ(1)

答案(d)
第 7 个最小元素必须在前 7 个级别中。任何二叉堆中前 7 层的节点总数最多为 1 + 2 + 4 + 8 + 16 + 32 + 64,这是一个常数。因此我们总能在 Θ(1) 时间内找到第 7 个最小的元素。


2. 假设数字 7, 5, 1, 8, 3, 6, 0, 9, 4, 2 按该顺序插入到最初为空的二叉搜索树中。二叉搜索树对自然数使用通常的排序。结果树的中序遍历序列是什么? (GATE CS 2003)

a) 7 5 1 0 3 2 4 6 8 9
b) 0 2 4 3 1 6 5 9 8 7
c) 0 1 2 3 4 5 6 7 8 9
d) 9 8 6 4 2 3 0 1 5 7

答案 (c)
BST 的有序遍历以递增的顺序给出元素。所以答案c毫无疑问是正确的。


3.设S为一个大小为n>=1的栈,从空栈开始,假设我们依次压入前n个自然数,然后进行n次出栈操作。假设 Push 和 Pop 操作各需要 X 秒,并且在一个这样的堆栈操作结束和下一个操作开始之间经过 Y 秒。对于 m >= 1,将 m 的堆栈寿命定义为从 Push(m) 结束到从 S 中删除 m 的弹出操作开始所经过的时间。此堆栈中元素的平均堆栈寿命为(GATE CS 2003)

a) n(X+ Y)
b) 3Y + 2X
c) n(X + Y)-X
d) Y + 2X

答案(c)
我们可以通过几个例子很容易地得出结果。

请参阅 GATE Corner 了解所有往年论文/解决方案/解释、教学大纲、重要日期、笔记等。