📜  数据结构和算法 | 26套

📅  最后修改于: 2021-09-27 15:48:18             🧑  作者: Mango

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

1) 最大堆是每个父项的值都大于或等于其子项的值的堆。以下哪个是最大堆?

答案:(乙)
如果二叉树是完全二叉树,则该二叉树是最大堆(完全二叉树是一棵二叉树,其中除了最后一层之外,每一层都被完全填充,并且所有节点都尽可能地向左),并且它如下max-heap 属性(每个父级的值大于或等于其子级的值)。

A) 不是最大堆,因为它不是完整的二叉树
B) 是一个最大堆,因为它是完全二叉树并且遵循最大堆属性。
C) 不是最大堆,因为在这棵树中 8 是 5 的智利,因此违反了最大堆属性。
D) 不是最大堆,因为在这棵树中 8 是 5 的智利,因此违反了最大堆属性。这棵树中还有许多其他节点违反了这棵树中的最大堆属性。

2)四个矩阵M1、M2、M3和M4分别为pxq、qxr、rxs和sxt维度可以相乘,有几种不同总标量相乘次数的方法。例如,当乘以((M1 X M2) X (M3 X M4))时,乘法总数为pqr + rst + prt。当乘以(((M1 X M2) X M3) X M4)时,标量乘法的总数为pqr + prs + pst。

如果 p = 10、q = 100、r = 20、s = 5 和 t = 80,则所需的标量乘法次数为

A) 248000
B) 44000
C) 19000
D) 25000

答案 (C)
我们使用 ((M1 X (M2 X M3)) X M4) 获得最小乘法次数。

乘法总数 = 100x20x5(对于 M2 x M3)+ 10x100x5 + 10x5x80 = 19000。


3) 给定选项中的哪一个提供了函数 f1、f2、f3 和 f4 渐近复杂度的递增顺序?

f1(n) = 2^n
f2(n) = n^(3/2)
f3(n) = nLogn
f4(n) = n^(Logn)

A) f3, f2, f4, f1
B) f3, f2, f1, f4
C) f2, f3, f1, f4
D) f2, f3, f4, f1

答案 (A)
有关解释,请参阅 http://geeksquiz.com/algorithms-analysis-of-algorithms-question-9/。


4) 给定一组 n 个不同元素和一个具有 n 个节点的未标记二叉树。我们可以用多少种方式用给定的集合填充树,使其成为二叉搜索树?

A) 0
乙) 1
C) n!
D) (1/(n+1)).2nCn

答案 (B)

请参阅 PeddaBoku 的此解释。

5) 下面给出了在数组 A[0:n-1] 中找到最长单调递增数字序列长度的算法。
让 Li 表示从数组中的索引 i 开始的最长单调递增序列的长度



下面哪个描述是正确的?

(一)算法采用动态规划范式
(B) 算法具有线性复杂度并使用分支定界范式
(C) 该算法具有非线性多项式复杂度并使用分支定界范式
(D) 该算法使用分治范式。

答案:(一)

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