欢迎光临
我们一直在努力

东师23秋《算法分析与设计》作业1【标准答案】

可做奥鹏国开全部院校作业论文!答案请添加qq:599792888 或 微信:1095258436

算法分析与设计2023年秋学期在线作业1

共46道题 总分:100分

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

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

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\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

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、字符串拷贝

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

A、退回到根目录

B、退回到上一级目录

C、进入特定的目录

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

东师答案请进:opzy.net或请联系微信:1095258436
19.对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。

A、log2n

B、n/2

C、n

D、n+1

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

A、文件注释

B、函数注释

C、功能注释

D、程序注释

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

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

A、只有一个入口

B、只有一个出口

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

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

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

A、”%c”

B、”%d”

C、”%f”

D、”%s”

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

A、递归

B、递推

C、回归

D、回溯

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

A、确定递推公式

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

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

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

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

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

共46道题 总分:100分

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

1.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。

A、选择排序法

B、插入排序法

C、快速排序法

D、堆积排序法

2.已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是( )

A、acbed

B、deabc

C、decab

D、cedba

3.以下选项中合法的字符常量是()。

A、”B”

B、68

C、D

D、’\010′

4.在有序表A[1..12]中,采用二分查找算法查等于A[12]的元素,所比较的元素下标依次为()。

A、5, 8, 10, 12

B、6, 9, 11, 12

C、4, 7, 9, 12

D、1, 4, 8, 12

5.下列数据结果中,能够按照“先进后出”原则存取数据的是( )

A、循环队列

B、栈

C、队列

D、二叉树

6.strcat()函数是用来()。

A、字符串连接

B、比较字符

C、求子串

D、字符串拷贝

7.注释从功能上可以分为()。

A、文件注释

B、函数注释

C、功能注释

D、以上全是

8.数制也称计数制,是用一组固定的符号和统一的规则来表示()的方法。

A、数值

B、字母

C、文字

D、信息

9.在数组A中a[0]到a[5]中分别存放一列数{5,4,0,3,1,2},使用简单选择排序法对其按照升序进行排序,第0趟比较后,进行交换的是()。

A、a[3]与a[2]

B、a[0]与a[2]

C、a[0]与a[1]

D、a[0]与a[3]

10.有以下程序#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

11.IDE (Integrated Development Environment) 集成开发环境,是专门用于程序开发环境的应用程序,一般包括()和图形用户界面工具。

A、代码编辑器、编译器

B、代码编辑器、编译器、调试器

C、编译器、调试器

D、代码编辑器、编译器、调试器、集成开发环境

12.二进制中最小的数码是()。

A、0

B、1

C、2

D、3

13.下列排序算法中,其中()是稳定的。

A、堆排序,冒泡排序

B、快速排序,堆排序

C、直接选择排序,归并排序

D、归并排序,冒泡排序

14.字符数组在进行指定初值时,若未指定数组长度,则长度()初值个数。

A、小于

B、等于

C、大于

D、不等于

15.strrev(“abcd”)返回值为()。

A、”abcd”

B、”dcba”

C、”cdab”

D、”ab”

16.在下面的排序方法中,辅助空间为O(n)的是() 。

A、希尔排序

B、堆排序

C、选择排序

D、归并排序

17.IDE的全程是()。

A、集成开发环境

B、集成环境

C、开发软件

D、调试过程

18.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是:()。

A、直接插入排序

B、快速排序

C、直接选择排序

D、堆排序

19.执行memset(s,’a’,4)后,s的值为()。

A、”aaaa”

B、”a4″

C、”4a”

D、”eeee”

20.在启发式搜索中,最重要的是() 。

A、对搜索位置进行评估

B、对搜索时间进行限定

C、对搜索速度进行控制

D、对搜索目标的设定

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

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

A、递归

B、递推

C、回归

D、回溯

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

A、确定递推公式

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

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

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

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

A、只有一个入口

B、只有一个出口

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

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

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

A、”%c”

B、”%d”

C、”%f”

D、”%s”

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

1.在计算机上中有符号整数和无符号整数表示的数值范围是相同的。

A、错误

B、正确

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

A、错误

B、正确

3.无论表中的结点是否按关键字进行有序排列,在进行查找操作时都可以使用折半查找。

A、错误

B、正确

4.递推算法是一种用若干步可重复的简单运算(规律)来描述复杂问题的方法。

A、错误

B、正确

5.有一组数据{6,202,100,301,38,8,1},使用简单选择排序需要进行6趟比较。

A、错误

B、正确

6.快速排序的速度在所有排序方法中为最快,而且所需附加空间也最少。

A、错误

B、正确

7.线性表可以方便地随机读取、插入、删除表中的任一结点。

A、错误

B、正确

8.若一棵二叉树的叶子数为n,则该二叉树中,左、右子树皆非空的结点个数为n-1。

A、错误

B、正确

9.影响外排序的时间因素主要是内存与外设交换信息的总次数。

A、错误

B、正确

10.递归是计算机中的一种常用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算前面的一些项来得出序列中指定项的值。

A、错误

B、正确

11.一个算法的评价只要考虑时间复杂度。

A、错误

B、正确

12.编辑与编译是一回事。

A、错误

B、正确

13.简单选择排序是一种稳定排序方法。

A、错误

B、正确

14.任意一棵具有n个结点的二叉树,若它有m个叶子,则该二叉树上度数为1的结点为n-2m+1个。

A、错误

B、正确

15.一个算法有零个或多个输入。

A、错误

B、正确

16.已知有序表(13,18,24,35,47,50,62,83,90,115,134),当折半查找值为90的元素时,查找成功的比较次数为4次

A、错误

B、正确

17.一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队,则元素退队的顺序为54321ABCDEF。

A、错误

B、正确

18.已知一棵度为3的树有2个度为1的结点,3个度过为2的结点,4个度为3的结点,则该树中有12个叶子结点。

A、错误

B、正确

19.插入排序是一种稳定排序方法。

A、错误

B、正确

20.字符串的函数都在string.h头文件中。

A、错误

B、正确

21.深度为k(k>=1)的二叉树至多有2^k-1个结点。

A、错误

B、正确

22.一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有25个结点。

A、错误

B、正确

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

共46道题 总分:100分

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

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

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\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

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、字符串拷贝

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

A、退回到根目录

B、退回到上一级目录

C、进入特定的目录

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

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

A、log2n

B、n/2

C、n

D、n+1

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

A、文件注释

B、函数注释

C、功能注释

D、程序注释

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

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

A、只有一个入口

B、只有一个出口

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

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

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

A、”%c”

B、”%d”

C、”%f”

D、”%s”

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

A、递归

B、递推

C、回归

D、回溯

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

A、确定递推公式

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

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

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

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

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

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

A、错误

B、正确

赞(0)
未经允许不得转载:奥鹏作业网 » 东师23秋《算法分析与设计》作业1【标准答案】

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址