东师算法分析与设计2022年秋学期在线作业1[资料答案][答案]

作者:奥鹏作业答案 字体:[增加 减小] 来源:南开在线 时间:2022-12-28 00:58

算法分析与设计2022年秋学期在线作业1题目 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 40 分) 1.下列算法描述所用的方法是() Begin(算法开始) 输入 A,B,C IF AB 则 AMax 否则 BMax IF CMax 则 C

东师算法分析与设计2022年秋学期在线作业1[资料答案][答案]

东师算法分析设计2022年秋学期在线作业1[资料答案]

算法分析设计2022年秋学期在线作业1题目

试卷总分:100  得分:100

一、单选题 (共 20 道试题,共 40 分)

1.下列算法描述所用的方法是() Begin(算法开始) 输入 A,B,C IF A>B 则 A→Max 否则 B→Max IF C>Max 则 C→Max Print Max End (算法结束)

A.流程图

B.N-S流程图

C.伪代码表示

D.程序设计语言

 

2.某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为()。

A.n+1

B.n-1

C.2n

D.n/2

 

3.下列叙述中正确的是()

A.线性链表是线性表的链式存储结构

B.栈与队列是非线性结构

C.双向链表是非线性结构

D.只有根结点的二叉树是线性结构

 

4.设有如下函数定义 int fun(int k) { if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1; } 若执行调用语句n=fun(3);,则函数fun 总共被调用的次数是()。

A.2

B.3

C.4

D.5

 

5.strchr()函数用来()。

A.字符串连接

B.比较字符

C.求字符位置

D.求子串位置

 

6.下面4句话中,最准确的表述是()。

A.程序=算法+数据结构

B.程序是使用编程语言实现算法

C.程序的开发方法决定算法设计

D.算法是程序设计中最关键的因素

 

7.一个递归算法必须包括()。

A.递归部分

B.终止条件和递归部分

C.循环部分

D.终止条件和循环部分

 

8.插入排序在最好情况下的时间复杂度为()

A.O(logn)

B.O(n)

C.O(n*logn)

D.O(n2)

 

9.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是(C)。

A.39

B.52

C.111

D.119

 

10.strstr()函数用来()。

A.字符串连接

B.比较字符

C.求字符位置

D.求子串位置

 

11.在程序代码编辑框外(一般都是程序代码的最左侧)双击,就成功设置了一个断点,设置成功后会在该行的最前面显示一个圆点,这样的过程称作()。

A.设置断点

B.单步调试

C.程序编译

D.程序调试

 

12.有以下程序 #include <stdio.h> int f(int t[ ], int n ); main() { int a[4]={1, 2, 3, 4}, s; s=f(a, 4); printf("%d ", 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

 

13.八进制中最大的数码是()。

A.6

B.7

C.8

D.9

 

14.将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

 

15.分治法是把一个复杂的问题分成相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题解的()

A.合并

B.最大值

C.最小值

D.平均值

 

16.自动化的工具同样也能够帮助你跟踪程序,尤其当程序很复杂时效果更加明显,这种工具叫做()。

A.调试器

B.编辑器

C.编译器

D.调解器

 

17.strcpy()函数用来()。

A.求字符串长度

B.比较字符

C.求子串

D.字符串拷贝

 

21.cd 目录名的功能是()。

A.退回到根目录

B.退回到上一级目录

C.进入特定的目录

D.显示出文本文件的内容

 

19.对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。

A.log2n

B.n/2

C.n

D.n+1

 

20.()嵌在源程序体中,用于描述其后的语句或程序段做什么工作,也就是解释下面要做什么,或是执行了下面的语句会怎么样。而不要解释下面怎么做,因为程序本身就是怎么做。

A.文件注释

B.函数注释

C.功能注释

D.程序注释

 

东师算法分析与设计2022年秋学期在线作业1[资料答案]多选题答案

二、多选题 (共 4 道试题,共 16 分)

21.顺序结构、选择结构、循环结构三种结构共同特点是()

A.只有一个入口

B.只有一个出口

C.结构内的每一部分都有机会被执行到(不存在死语句)

D.结构内不存在死循环(永远执行不完的循环)。

 

22.字符串有关的格式字符有( )。

A."%c"

B."%d"

C."%f"

D."%s"

 

23.递归算法的执行过程分()和()两个阶段。

A.递归

B.递推

C.回归

D.回溯

 

24.设计递归算法有两点最为关键()和()。

A.确定递推公式

B.确定边界(终了)条件(递归出口)

C.每次递归调用,都必须向基本条件前进

D.如果结果已知,那么,不用再重复调用递归

 

三、判断题 (共 22 道试题,共 44 分)

25.简单选择排序算法在最好情况下的时间复杂度为O(N)。

 

26.顺序查找是从线性表的一端开始,依次将每个元素的关键字同给定值K进行比较,若某元素关键字与K相等,则查找成功;若所有元素都比较完毕,仍找不到关键字为K的元素,则查找失败。

 

27.冒泡排序的时间复杂度为O(n*n)。

 

28.内排序要求数据一定要以顺序方式存储。

 

29.排序速度,进行外排序时,必须选用最快的内排序算法。

 

30.gets()函数一次可以输入多个字符串。

 

31.采用顺序查找方式查找长度为n的线性表时,平均查找长度为(n-1)/2。

 

32.穷举法,也称辗转法,是一种针对于密码的破译方法,即将密码进行逐个推算直到找出真正的密码为止。

 

33.程序调试的作用是将程序测试过程中发现的错误改正过来,程序调试后需要再次进行测试。

 

34.具有10个顶点的无向图,边的总数最多为44。

 

35.递推实现的关键是找出递推公式。

 

36.冒泡排序法每次比较的是相邻的两个数a[i]和a[i+1],如果前一个数比后一个数大,则马上交换。

 

37.字符型和整型一般情况下可以通用。

 

38.在深度为7的满二叉树中,度为2的结点个数为64。

 

39.用二分(对半)查找表的元素的速度比用顺序法快。

 

40.某二叉树中度为2的结点有21个,则该二叉树中有20个叶子结点。

 

41.线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的顺序存储结构。

 

42.C语言中,数组名代表该数组的起始地址。

 

43.线性表需要为表示结点间的逻辑关系而增加额外的存储空间。

 

44.在待排数据基本有序的情况下,快速排序效果最好。

 

45.在后序遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。

 

46.scanf()、printf()可以输入输出几个字符串。

 

东师算法分析与设计2022年秋学期在线作业1[答案]国开电大历年参考题目如下:

作业咨询:
点击这里给我发消息

论文咨询:
点击这里给我发消息

合作加盟:
点击这里给我发消息

服务时间:
8:30-24:00(工作日)