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

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

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

1)对于无向图,以下哪些陈述是/是正确的?
P:奇数度顶点数为偶数
问:所有顶点的度数和是偶数

A) 仅 P
B) 仅 Q
C) P 和 Q
D) 既不是 P 也不是 Q

答案 (C)
Q 为真:由于图是无向图,每条边都将度数之和增加 2。
P 为真:如果我们考虑度数之和并减去所有偶数度,我们得到一个偶数(因为 Q 为真)。所以奇数顶点的总数一定是偶数。

2) 考虑一个有八个顶点的无向随机图。一对顶点之间存在边的概率是 1/2。长度为 3 的无序循环的预期数量是多少?
(一) 1/8
(乙) 1
(三) 7
(四) 8

答案 (C)
一个长度为 3 的环可以由 3 个顶点构成。总共可以有 8C3 种方式从 8 个顶点中选取 3 个。两个顶点之间存在边的概率为 1/2。所以预期长度为 3 = (8C3)*(1/2)^3 = 7 的无序循环数

3) Bellman-Ford 单源最短路径算法在 n 个顶点的完全图上的时间复杂度是多少?
(A) Θ(n 2 )
(B) Θ(n 2 Logn)
(C) Θ(n 3 )
(D) Θ(n 3 Logn)

答案(C)。
Bellman-Ford 算法的时间复杂度是 Θ(VE),其中 V 是顶点数,E 是边数(请参阅this)。如果图形完整,则 E 的值变为 Θ(V 2 )。所以整体时间复杂度变为 Θ(V 3 )

4) 以下哪些说法是正确的?
(1) 判断无向图中是否存在环的问题在P中。
(2) 判断无向图中是否存在环的问题是NP。
(3) 如果问题 A 是 NP-Complete,则存在求解 A 的非确定多项式时间算法。

(A) 1,2 和 3
(B) 仅 1 和 2
(C) 仅 2 和 3
(D) 仅 1 和 3

答案 (A)
1是正确的,因为循环检测可以使用 DFS 在多项式时间内完成(请参阅this)。
2为真,因为 P 是 NP 的子集。
3,因为NP完全也是NP的一个子集,NP是指N上确定性P olynomial时间解存在是真实的。 (见这个)

5) 以下哪一项是表示将一个对象插入到 n 个节点的二叉搜索树中的时间复杂度的最严格的上限?
(一)O(1)
(B) O(log n)
(C) O(n)
(D) O(n log n)

答案 (C)
最坏的情况发生在倾斜的树上。在倾斜树中,当一个新节点作为最底节点的子节点插入时,插入的时间需要遍历所有节点。例如,考虑以下树和插入小于 70 的内容的情况。

100
            /
           90
          /
        80
       /
     70   

6) 以下哪一项是表示使用选择排序对 n 个数字进行排序所需的交换次数的最严格的上限?
(A) O(log n)
(B) O(n)
(C) O(n log n)
(D) O(n^2)

答案 (B)
选择排序只需要 O(n) 次交换。有关详细信息,请参阅此内容。

7) 考虑以下操作以及 Enqueue 和 Dequeue 操作
队列,其中 k 是一个全局参数

MultiDequeue(Q){
   m = k
   while (Q is not empty and m  > 0) {
      Dequeue(Q)
      m = m - 1
   }
}

在最初为空的队列上,一系列 n MultiDequeue() 操作的最坏情况时间复杂度是多少?
(A) Θ(n)
(B) Θ(n + k)
(C) Θ(nk)
(D) Θ(n 2 )

答案 (A)
由于队列最初是空的,while 循环的条件永远不会变为真。所以时间复杂度是 Θ(n)

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