📜  数据结构和算法 | 35套

📅  最后修改于: 2022-05-13 01:57:21.223000             🧑  作者: Mango

数据结构和算法 | 35套

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

1) 下面加权图的不同最小生成树的数量是____

GATECS2014Q62

答案:6
突出显示的(绿色)是用来制作 MST 的边缘。在 MST 的右侧,我们可以选择边 'a' 或 'b'。在左侧,我们可以在 MST 中选择“c”或“d”或“e”。
有 2 个选项可用于拾取一条边,并有 3 个选项可用于拾取另一条边。因此,总共有 2*3 个可能的 MST。
MST2


2) 考虑以下有根树,顶点 P 标记为根
GATECS2014Q19
在中序遍历期间访问节点的顺序是
(A) SQPTRWUV
(B) SQPTURWV
(C) SQPTWUVR
(D) SQPTRUWV

答案:(一)
这个问题唯一的困惑是,R 有 3 个孩子。那么 R 应该什么时候出现——在 U 之后还是在 R 之后?有两种可能:SQPTRWUV 和 SQPTWURV。只有第一种可能性作为选项 A 存在,第二种可能性不存在。因此选项A为正确答案。




3) 设 A 是一个大小为 nx n 的方阵。考虑以下程序。什么是预期的输出?

C = 100
for i = 1 to n do
    for j = 1 to n do
    {
        Temp = A[i][j] + C
        A[i][j] = A[j][i]
        A[j][i] = Temp - C
    }
for i = 1 to n do
    for j = 1 to n do
        Output(A[i][j]);

(A)矩阵 A 本身
(B)矩阵 A 的转置
(C) A的上对角线元素加100,A的对角线元素减100
(D)以上都不是

答案:A
如果我们看一下第一个循环的内部语句,我们可以注意到语句交换了所有 i 和 j 的 A[i][j] 和 A[j][i]。
由于循环对所有元素运行,每个元素 A[l][m] 将被交换两次,一次用于 i = l 和 j = m,然后用于 i = m 和 j = l。交换两次意味着矩阵不会改变。


4) 对于给定的 X 值,仅使用一个临时变量计算多项式 P(X) = X 5 + 4X 3 + 6X + 5 所需的最少算术运算次数。
(一) 6
(乙) 7
(三) 8
(四) 9

答案:B
我们可以将多项式括起来以最小化操作次数(参见霍纳方法)。括号后我们得到 X(X 2 (X 2 + 4) + 6) + 5。

Following is sequence of operations to be used.
Note that we are allowed to use only one variable.
res = X*X
res = res + 4
res = X*res
res = X*res
res = res + 6
res = X*res
res = res + 5


5) 你有一个 n 个元素的数组。假设您通过始终选择数组的中心元素作为枢轴来实现快速排序。那么最坏情况性能的最严格的上限是
(A) O(n 2 )
(B) O(nLogn)
(C) Θ(nLogn)
(D) O(n 3 )

答案:(一)
中间元素可能始终是排序顺序中的极端元素(最小值或最大值),因此最坏情况下的时间复杂度变为 O(n 2 )

查看 GATE Corner 了解所有往年论文/解决方案/解释、教学大纲、重要日期、注释等。