奥鹏作业答案、国开形考作业答案、在线作业、离线作业、毕业论文,答案联系 微信:wxxygzs
东师算法分析与设计21秋学期在线作业2【标准答案】
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.将f=1+1/2+1/3+…+1/n转化成递归函数,其递归体是()。
A.f(1)=0
B.f(1)=1
C.f(0)=1
D.f(n)=f(n-1)+1/n
2.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()。
A.63
B.64
C.6
D.7
3.下面说法错误的是()。
A.递推和递归同属于迭代解法的两种不同实现方式
B.递推:知道第一个,推出下一个,直到达到目的;递归:要知道第一个,需要先知道下一个,直到一个已知的,再反回来,得到上一个,直到第一个
C.算法执行效率不同:递推效率和速度高于递归。
D.算法执行效率不同:递归效率和速度高于递推
4.算法流程图由一些图框和流程线组成,下面表示处理的图框是()。
A.圆形
B.菱形
C.圆角矩形
D.矩形
5.输出单个字符时使用()格式符。
A.%c
B.%s
C.%d
D.%e
6.在下面的排序方法中,辅助空间为O(n)的是() 。
A.希尔排序
B.堆排序
C.选择排序
D.归并排序
7.递推法的基本思想()。
A.不断用变量的旧值递推新值的过程
B.把全部可行的解空间不断分割为越来越小的子集(称为分支),并为每个子集内的解的值计算一个下界或上界
C.将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解
D.一种用若干步可重复的简运算(规律)来描述复杂问题的方法
8.strstr()函数用来()。
A.字符串连接
B.比较字符
C.求字符位置
D.求子串位置
9.不属于C语言字符常量的是()。
A.‘65'
B.'\027'
C.'A'
D.'\n'
10.下面叙述中正确的是( )
A.栈是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
11.一个算法中的语句的()被称为语句频度或时间频度。
A.执行时间
B.占用空间
C.执行速度
D.执行次数
12.n个结点的完全有向图含有边的数目()。
A.n*n
B.n(n+1)
C.n/2
D.n*(n-l)
13.()命令用来显示ASCII码文件的内容。
A.dir
B.cd
C.type
D.fc
14.能正确进行字符串赋值、赋初值的语句组是()。
A.char s[5]={'a','e','i','o','u'};
B.char *s; s="good!";
C.char s[5]="good!";
D.char s[5]="good!";
15.十进制,就表示某一位置上的数运算时是逢()进一位。
A.2
B.8
C.9
D.10
16.变量名=属性 + 类型 + 对象描述,其中每个对象的名称都要有明确含义,可以取对象的名字全称或名字的一部分,这种命名规则是()。
A.匈牙利命名法
B.骆驼命名法
C.下划线命名法
D.帕斯卡命名法
17.数制是人们利用( )进行计数的一种科学方法。
A.数字
B.符号
C.字母
D.图形
18.遗传算法主要模拟生物中的()。
A.遗传、复制、传递和分裂
B.遗传、突变、选择和杂交
C.遗传、突变、传递和转录
D.遗传、复制、转录和逆转录
19.有以下程序,执行后的输出结果是()。 fun(int x) { int p; if(x==0||x==1) return (3); p=x-fun(x-2); return p; } main() { printf(“%d\n”,fun(7)); }
A.7
B.3
C.2
D.0
20.分枝定界法的基本思想()。
A.不断用变量的旧值递推新值的过程
B.把全部可行的解空间不断分割为越来越小的子集(称为分支),并为每个子集内的解的值计算一个下界或上界
C.将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解
D.一种用若干步可重复的简运算(规律)来描述复杂问题的方法
二、多选题 (共 4 道试题,共 16 分)
21.字符串有关的格式字符有( )。
A."%c"
B."%d"
C."%f"
D."%s"
22.递归算法的执行过程分()和()两个阶段。
A.递归
B.递推
C.回归
D.回溯
23.设计递归算法有两点最为关键()和()。
A.确定递推公式
B.确定边界(终了)条件(递归出口)
C.每次递归调用,都必须向基本条件前进
D.如果结果已知,那么,不用再重复调用递归
24.顺序结构、选择结构、循环结构三种结构共同特点是()
A.只有一个入口
B.只有一个出口
C.结构内的每一部分都有机会被执行到(不存在死语句)
D.结构内不存在死循环(永远执行不完的循环)。
三、判断题 (共 22 道试题,共 44 分)
25.归并排序是一种稳定的排序方法。
26.算法的空间复杂度是指算法需要消耗的空间资源。
27.在深度为7的满二叉树中,度为2的结点个数为64。
28.注释内容太多会影响程序的执行效率。
29.字符数组要求其最后一个元素是‘\0’。
30.编辑与编译是一回事。
31.一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有24个结点。
32.含有空格字符的串称为空格串,其长度为0。
33.在顺序表中进行结点的删除操作平均须移动一半结点。
34.在前序遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。
35.在有n个顶点的有向图中,每个顶点的度最大可达2*(n-1)。
36.递推就是在函数里调用自身。
37.栈和队列都是线性结构。
38.递推利用已知或已求出的结果迭代出下一步的结果;而递归则反之,要求出这一步的结果需要先去求上一步或上几步的结果(即多重迭代),往往会重复计算大量的子问题。并且递推省去了递归的栈操作。
39.某二叉树由5个度为2的结点以及3个度为1的结点,则该二叉树中共有15个结点。
40.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
41.在使用递归策略时,必须有一个明确的递归结束条件,称为递归入口。
42.能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成规模较小的问题,然后从这些小问题的解很容易构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解。特别地,当规模N=1时,能直接得解。
43.递推中的顺推法是指从已知条件出发,逐步推出要解决的问题。
44.scanf()、printf()可以输入输出几个字符串。
45.快速排序的时间复杂度为O(n*n)。
46.排序的关键操作是:一是比较两个关键字大小,二是将记录从一个位置移动到另一个位置。