📜  数据结构和算法 | 29套

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

GATE 2012 考试中提出了以下问题。

1) 用 n 个圆盘捕捉河内塔问题的最佳时间的递推关系是
(A) T(n) = 2T(n – 2) + 2
(B) T(n) = 2T(n – 1) + n
(C) T(n) = 2T(n/2) + 1
(D) T(n) = 2T(n – 1) + 1

答案 (D)

以下是递归解决河内塔问题的步骤。

Let the three pegs be A, B and C. The goal is to move n pegs from A to C.
To move n discs from peg A to peg C:
    move n-1 discs from A to B. This leaves disc n alone on peg A
    move disc n from A to C
    move n?1 discs from B to C so they sit on disc n

上述递归解的时间复杂度的递归函数T(n)可以写成如下。

T(n) = 2T(n-1) + 1

2)考虑下图所示的有向图。顶点S和T之间有多条最短路径。Dijstra的最短路径算法会报告哪一条?假设,在任何迭代中,只有当发现到 v 的严格较短的路径时,才更新到顶点 v 的最短路径。


(一) 标准差
(B) SBDT
(C) SACDT
(D) SACET

答案 (D)

3) 假设一个容量为 (n – 1) 个元素的循环队列是用 n 个元素的数组实现的。假设插入和删除操作分别使用REAR和FRONT作为数组索引变量。最初,REAR = FRONT = 0。检测队列满和队列空的条件是
(A) 满:(REAR+1) mod n == FRONT,空:REAR == FRONT
(B) 满:(REAR+1) mod n == FRONT,空:(FRONT+1) mod n == REAR
(C) 满:REAR == FRONT,空:(REAR+1) mod n == FRONT
(D) 满:(FRONT+1) mod n == REAR,空:REAR == FRONT

答案 (A)
有关详细信息,请参阅此内容。

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