《算法分析与设计》2023年春学期在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是(C)。
A.39
B.52
C.111
D.119
2.strlen(str)是用来()。
A.求字符串长度
B.比较字符
C.求子串
D.字符串拷贝
3.八进制中最大的数码是()。
A.6
B.7
C.8
D.9
4.字符串的结束标记是()。
A.0'
B.' '
C.'\0'
D.'\n'
5.下列叙述中正确的是()
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.上述三种说法都不对
6.一般情况下,程序中所有注释的行数占到整个源程序的()比较适宜。
A.1/2到2/3
B.1/3
C.1/3到1/2
D.1/2
7.一个递归算法必须包括()。
A.递归部分
B.终止条件和递归部分
C.循环部分
D.终止条件和循环部分
8.十六进制数C1B转换为二进制数是()。
A.1100101101011
B.110000011011
C.10110101010
D.11101001011
9.采用简单选择排序,比较次数与移动次数分别为()。
A.O(n),O(logn)
B.O(logn),0(n*n)
C.0(n*n),0(n)
D.0(nlogn),0(n)
10.十六进制数38A.11转换为十进制数是()。
A.960.06
B.916.0364
C.906.0664
D.902.0563
11.下列数据结构中,能用二分法进行查找的是()。
A.顺序存储的有序线性表
B.线性链表
C.二叉链表
D.有序线性链表
12.例如“camelCase”和“printEmployeePaychecks()” 这样的命名规则是()。
A.匈牙利命名法
B.骆驼命名法
C.下划线命名法
D.帕斯卡命名法
13.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。
A.选择排序法
B.插入排序法
C.快速排序法
D.堆积排序法
14.注释从功能上可以分为()。
A.文件注释
B.函数注释
C.功能注释
D.以上全是
15.()是一个开放源代码的、基于Java的可扩展开发平台。
A.VS
B.Dev-C++
C.Eclipse
D.JDK
16.十六进制,就表示某一位置上的数运算时是逢()进一位。
A.6
B.12
C.16
D.60
17.有以下程序 #include <stdio.h> int f(int t[ ], int n ); main() { int a[4]={1, 2, 3, 4}, s; s=f(a, 4); printf("%d\n", s); } int f(int t[ ], int n ) { if(n>0) return t[n-1]+f(t, n-1); else return 0; } 程序运行后的输出结果是()。
A.4
B.10
C.14
D.6
18.下列叙述中正确的是( )
A.数据的逻辑结构与存储结构必定是一一对应的
B.由于计算机在存储空间上是向量式的存储结构,因此,利用数组只能处理线性结构
C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
D.以上说法都不对
19.二进制中最大的数码是()。
A.0
B.1
C.2
D.3
20.下面的时间复杂度按数量级递增的顺序排列,正确的是注释从功能上可以分为()。
A.平方阶O(n2),对数阶O(log2n),指数阶O(2n)
B.线性对数阶O(nlog2n),指数阶O(2n),立方阶O(n3)
C.常数阶O(1),线性阶O(n),指数阶O(2n)
D.k次方阶O(nk),指数阶O(2n),对数阶O(log2n)
二、多选题 (共 4 道试题,共 16 分)
21.设计递归算法有两点最为关键()和()。
A.确定递推公式
B.确定边界(终了)条件(递归出口)
C.每次递归调用,都必须向基本条件前进
D.如果结果已知,那么,不用再重复调用递归
22.递归算法的执行过程分()和()两个阶段。
A.递归
B.递推
C.回归
D.回溯
23.顺序结构、选择结构、循环结构三种结构共同特点是()
A.只有一个入口
B.只有一个出口
C.结构内的每一部分都有机会被执行到(不存在死语句)
D.结构内不存在死循环(永远执行不完的循环)。
24.字符串有关的格式字符有( )。
A."%c"
B."%d"
C."%f"
D."%s"
三、判断题 (共 22 道试题,共 44 分)
25.能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成规模较小的问题,然后从这些小问题的解很容易构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解。特别地,当规模N=1时,能直接得解。
26.一个算法的评价只要考虑时间复杂度。
27.一个算法所包含的计算步骤应是无限的。
28.冒泡排序法每次比较的是相邻的两个数:a[i]和a[i+1],如果前一个数比后一个数大,则马上交换。
29.当待排序的元素很大时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素。
30.数组就是相同数据类型的元素按一定顺序排列的集合。
31.strncmp()函数和stricmp()函数相同。
32.在程序中关键字和变量名之间不需要加空格。
33.在任何情况下,顺序表中进行结点的插入操作时都不需要移动结点。
34.高精度计算时可以用数组来存储运算结果。
35.非线性结构的逻辑特征是一个结点可能有多个直接前趋和直接后继。
36.一个栈的初始状态为空,首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A、B、C、D依次入栈,之后将所有元素全部退栈,则所元素退栈(包括中间退栈的元素)的顺序为1DCBA2345。
37.任意一棵具有n个结点的二叉树,若它有m个叶子,则该二叉树上度数为1的结点为n-2m+1个。
38.深度为k(k>=1)的二叉树至多有2^k-1个结点。
39.关键字是数据元素(或记录)中某个数据项的值,可以标识一个记录,称为主关键字。
40.在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的。
41.以特定的图形符号加上说明表示算法的图,称为框图。
42.假如A="Jinlin changchun",B="changchun",则B是A的子串。
43.简单选择排序的时间复杂度为n*n。
44.线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的顺序存储结构。
45.树中所有结点度的最大值就是树的深度。
46.归并排序辅助存储为O(1)。
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777