2021年下半年软件设计师《综合知识》试题模拟试题(9)
-
1、 在某应用中,需要先排序一组大规模的记录,其关键字为整数。若这组记录的关键字基本上有序,则适宜采用(1 )排序算法。若这组记录的关键字的取值均在0到9之间(含),则适宜采用(2 )排序算法。
(1)A.插入
B.归并
C.快速
D.计数
(2)A.插入
B.归并
C.快速
D.计数
查看答案
A、D -
2、 给定一组长度为 n 的无序序列,将其存储在一维数组 a[0..n-1]中。现采用如下方法找出其中的最大元素和最小元素:比较 a[0]和 a[n-1],若 a[0]较大,则将二者的值进行交换;再比较 a[1]和 a[n-2],若 a[1]较大,则交换二者的值;然后依次比较 a[2]和 a[n-3]、a[3]和 a[n-4]、…,使得每一对元素中的较小者被交换到低下标端。重复上述方法,在数组的前 n/2 个元素中查找最小元素,在后 n/2 个元素查找最大元素,从而得到整个序列的最小元素和最大元素。上述方法采用的算法设计策略是 ( ) 。
A、动态规划法
B、贪心法
C、分治法
D、回溯法
查看答案
C -
3、简单算术表达式的结构可以用下面的上下文无关文法进行描述(E为开始符号),()是符合该文法的句子。
E→T|E+T
T→F|T*F
F→-F|N
N→0|1|2|3l4|5|6|7|8|9
A.2--3*4
B.2+-3*4
C.(2+3)*4
D.2*4-3
查看答案
B -
4、 ( ) 算法策略与递归技术的联系最弱。
A、动态规划
B、贪心
C、回溯
D、分治
查看答案
B
-
5、现需要对一个基本有序的数组进行排序。此时最适宜采用的算法为( )排算法, 时间复杂度为( ) 。
64、A. 插入
B. 快速
C. 归并
D. 堆
65、A. O(n)
B. O(nlgn)
C. O(n²)
D. O(n²lgn)
查看答案
A、A
-
6、给定关系R(A,B,C,D,E)与S(B,C,F,G),那么与表达式π2,4,6,7(Ơ2<7(R▷◁S))等价的SQL语句如下:
SELECT()FROMR,SWHERE();
(53)A.R.B,D,F,G
B.R.B,E,S.C,F,G
C.R.B,R.D,S.C,F
D.R.B,R.C,S.C,F
(54)
A.R.B=S.BORR.C=S.CORR.B
B.R.B=S.BORR.C=S.CORR.B
C.R.B=S.BANDR.C=S.CANDR.B
D.R.B=S.BANDR.C=S.CANDR.B
查看答案
A、C -
7、 某算法的时间复杂度表达式为T(n)=an2+bnlgn+cn+d,其中,n为问题的规模,abc和d为常数,用O表示其渐近时间复杂度为( )。
A、O(n2)
B、O(n)
C、O(nlgn)
D、O(1)
查看答案
A -
8、要判断字长为16位的整数a的低四位是否全为0,则()
A.将a与0x000F进行"逻辑与"运算,然后判断运算结果是否等于0
B.将a与0x000F进行"逻辑或"运算,然后判断运算结果是否等于F
C.将a与0x000F进行"逻辑异或"运算,然后判断运算结果是否等于O
D.将a与0x000F进行"逻辑与"运算,然后判断运算结果是否等于F
查看答案
A
-
9、 采用动态规划策略求解问题的显著特征是满足最优性原理,其含义是( )。
A、当前所做出的决策不会影响后面的决策
B、原问题的最优解包含其子问题的最优解
C、问题可以找到最优解,但利用贪心法不能找到最优解
D、每次决策必须是当前看来最优的决策才可以找到最优解
查看答案
B
-
10、 已知算法A的运行时间函数为T(n)=8T(n/2)+n2,其中n表示问题的规模,则该算法的时间复杂度为(1 ).另已知算法B的运行时间函数为T(n)=XT(n/4)+n2,其中n表示问题的规模。对充分大的n,若要算法B比算法A快,则X的最大值为(2 )。
(1)
A.Θ(n)
B. Θ(nlgn)
C. Θ(n2)
D. Θ(n3)
(2)
A.15
B.17
C.63
D.65
查看答案
D、C