算法分析与设计20春在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.用计算机解决问题的过程可以分成哪三个阶段()。
A.输入、测试和输出
B.分析问题、设计算法和实现算法
C.输入、算法设计和输出
D.分析问题、测试和实现
2.()命令主要用来查看磁盘中文件的命令。
A.dir
B.cd
C.type
D.fc
3.cd 目录名的功能是()。
A.退回到根目录
B.退回到上一级目录
C.进入特定的目录
D.显示出文本文件的内容
4.IDE的全程是()。
A.集成开发环境
B.集成环境
C.开发软件
D.调试过程
5.在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的末尾,该排序方法是()。
A.选择
B.冒泡
C.插入
D.堆
6.在下列排序算法中,哪一个算法的时间复杂度与初始排序无关()。
A.直接插入排序
B.冒泡排序
C.快速排序
D.直接选择排序
7.下列叙述中,正确的是()。
A.对长度为n 的有序链表进行查找,最坏情况下需要的比较次数为n
B.对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C.对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D.对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
8.按F5开始调试,程序便会直接运行到断点处。接下来可以逐行来运行程序,查看各个变量的值,也可以直接运行到下一个断点或程序结束,这样过程被称作()。
A.设置断点
B.单步调试
C.程序编译
D.程序调试
9.已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是( )
A.acbed
B.deabc
C.decab
D.cedba
10.对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88, 92, 100}进行二分查找,等概率的情况下查找成功的平均查找长度(平均比较次数)是()。
A.35/11
B.34/11
C.33/11
D.32/11
11.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()
A.10
B.8
C.6
D.4
12.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。()就是不稳定的排序方法。
A.起泡排序
B.归并排序
C.Shell排序
D.直接插入排序
13.在程序代码编辑框外(一般都是程序代码的最左侧)双击,就成功设置了一个断点,设置成功后会在该行的最前面显示一个圆点,这样的过程称作()。
A.设置断点
B.单步调试
C.程序编译
D.程序调试
14.如何一步步的跟踪代码,找到问题,搞明白为何程序不能正常运行,这个过程称为()。
A.编写程序
B.调试程序
C.执行程序
D.编译程序
15.变量名=属性 + 类型 + 对象描述,其中每个对象的名称都要有明确含义,可以取对象的名字全称或名字的一部分,这种命名规则是()。
A.匈牙利命名法
B.骆驼命名法
C.下划线命名法
D.帕斯卡命名法
16.支持子程序调用的数据结构是( )
A.栈
B.树
C.队列
D.二叉树
17.下列数据结果中,能够按照“先进后出”原则存取数据的是( )
A.循环队列
B.栈
C.队列
D.二叉树
18.十进制中最小的数码是()。
A.10
B.9
C.1
D.0
19.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
20.strchr()函数用来()。
A.字符串连接
B.比较字符
C.求字符位置
D.求子串位置
二、多选题 (共 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.在查找其关键字等于给定值的过程中,需要和给定值进行比较的关键字个数的期望值称为查找成功时的平均查找长度,则称为平均查找长度ASL。
26.puts不需要格式控制符,且自动换行。
27.已知一棵度为3的树有2个度为1的结点,3个度过为2的结点,4个度为3的结点,则该树中有12个叶子结点。
28.对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为log2n。
29.冒泡排序是一种不稳定排序方法。
30.二分法插入排序所需比较次数与待排序记录的初始排列状态相关。
31.在初始数据表已经有序时,快速排序算法的时间复杂度为O(nlog2n )。
32.递归算法是一种用若干步可重复的简单运算(规律)来描述复杂问题的方法。
33.gets()函数一次可以输入多个字符串。
34.递推就是在函数里调用自身。
35.一个函数直接或间接调用自己本身,这种函数叫递归函数。
36.字符串的结束标记在输出时也会被输出。
37.内排序要求数据一定要以顺序方式存储。
38.有一组数据{6,202,100,301,38,8,1},使用简单选择排序需要进行6趟比较。
39.长度不同的字符串一定不会相等。
40.在待排数据基本有序的情况下,快速排序效果最好。
41.在顺序表中进行结点的删除操作平均须移动一半结点。
42.一棵二叉树第6层(根结点为第一层)的结点数最多为31个。
43.顺序查找法适合于存储结构为散列存储的线性表
44.字符数组的初始化可以逐个元素进行初始化。
45.线性表需要为表示结点间的逻辑关系而增加额外的存储空间。
46.快速排序的时间复杂度为O(n*n)。