奥鹏东北师范大学2023年9月《算法分析与设计》在线考试-课程考试-网考机考-通关必备期末考试复习资料答案

2023年8月2418:59:07发布者:火花 112 views 举报

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

A错误

B正确


答案是:错误

按F5开始调试,程序便会直接运行到断点处。接下来可以逐行来运行程序,查看各个变量的值,也可以直接运行到下一个断点或程序结束,这样过程被称作()。

A设置断点

B单步调试

C程序编译

D程序调试


答案是:单步调试

十进制的123,1的位权是()。

A1

B2

C10

D100


答案是:100

()是用户在程序中使用的名字,它是一种用于命名一些具有特定含义的对象的符号,通常用来标识程序中的变量,常量,函数,语句块。

A对象

B符号

C标识符

D命名规则


答案是:标识符

二进制数1101.0101转换为十进制数是()。

A11.3225

B12.3125

C13.0125

D13.3125


答案是:13.3125

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

A数值

B字母

C文字

D信息


答案是:数值

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

A程序=算法+数据结构

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

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

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


答案是:程序=算法+数据结构

一个算法的评价主要从时间复杂度和()来考虑。

A空间复杂度

B算法有效性

C算法有穷性

D算法可读性


答案是:空间复杂度

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

A10

B8

C6

D4


答案是:6

下列叙述中正确的是 (  )

A循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D循环队列中元素的个数是由队头指针和队尾指针共同决定


答案是:

二进制的基数是()。

A2

B8

C10

D16


答案是:

二进制,就表示某一位置上的数运算时是逢()进一位。

A2

B8

C9

D10


答案是:

与二进制数101.01011等值的十六进制数为(    )。

AA.B

B5.51

CA.51

D5.58


答案是:

下列叙述中正确的是(  )。

A一个逻辑数据结构只能有一种存储结构

B数据的逻辑结构属于线性结构,存储结构属于非线性结构

C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率


答案是:

C语言中,一般不能采用的命名规则为()。

A匈牙利命名法

B骆驼命名法

C下划线命名法

D图灵命名法


答案是:

一个算法中的语句的()被称为语句频度或时间频度。

A执行时间

B占用空间

C执行速度

D执行次数


答案是:

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

A合并

B最大值

C最小值

D平均值


答案是:

栈和队列的共同点是( )

A都是先进先出

B都是先进后出

C只允许在端点处插入和删除元素

D没有共同点


答案是:

IDE的全程是()。

A集成开发环境

B集成环境

C开发软件

D调试过程


答案是:

十进制的基数是()。

A2

B8

C10

D16


答案是:

批处理,也称为批处理脚本,其文件扩展名为()。

A.bat

B.exe

C.txt

D.c


答案是:

伪代码是用介于自然语言和()之间的文字和符号来描述算法。

A面向过程语言

B面向对象语言

C编程语言

D计算机语言


答案是:

伪代码是用介于()和计算机语言之间的文字和符号来描述算法。

A自然语言

B面向对象语言

C编程语言

D面向过程语言


答案是:

分枝定界法的基本思想()。

A不断用变量的旧值递推新值的过程

B把全部可行的解空间不断分割为越来越小的子集(称为分支),并为每个子集内的解的值计算一个下界或上界

C将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解

D一种用若干步可重复的简运算(规律)来描述复杂问题的方法


答案是:

例如“DisplayInfo()”和“UserName” 这样的命名规则是()。

A匈牙利命名法

B骆驼命名法

C下划线命名法

D帕斯卡命名法


答案是:

下列叙述中正确的是 ( )。

A顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C顺序存储结构能存储有序表,链式存储结构不能存储有序表

D链式存储结构比顺序存储结构节省存储空间


答案是:

十进制算术表达式:3*512+7*64+4*8+5的运算结果,用二进制表示为( )。

A10111100101

B11111100101

C11110100101

D11111101101


答案是:

以C语言为例,下列四个选项中,均是不合法的用户标识符的是()。

ABA、x_0、do

Bfloat、1a0、_Y

Cx-y、goto、123

D_123、tmp、CHAR


答案是:

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

A39

B52

C111

D119


答案是:

一般情况下,程序中所有注释的行数占到整个源程序的()比较适宜。

A1/2到2/3

B1/3

C1/3到1/2

D1/2


答案是:

十进制,就表示某一位置上的数运算时是逢()进一位。

A2

B8

C9

D10


答案是:

一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树的总结点数为( )。

A219

B221

C229

D231


答案是:

例如“camelCase”和“printEmployeePaychecks()” 这样的命名规则是()。

A匈牙利命名法

B骆驼命名法

C下划线命名法

D帕斯卡命名法


答案是:

下面说法不是断点特点是()。

A它是调试器的功能之一

B程序运行到这一行就会停住,然后你可以一步一步往下调试

C调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误停下

D调试过程中不可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误停下


答案是:

一个n个顶点的连通无向图,其边的个数至少为( )。

An-1

Bn

Cn+1

Dnlogn


答案是:

下列关于栈的描述中正确的是()

A在栈中只能插入元素而不能删除元素

B在栈中只能删除元素而不能插入元素

C栈是特殊的线性表,只能在一端插入或删除元素

D栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素


答案是:

()命令主要用来查看磁盘中文件的命令。

Adir

Bcd

Ctype

Dfc


答案是:

十进制数2014等值于八进制数( )。

A4028

B3736

C2726

D2014


答案是:

数制所使用数码的个数称为()。

A进制

B基数

C位权

D数码


答案是:

十六进制数5A.8转换为十进制数是()。

A89.6

B90.1

C90.5

D96.8


答案是:

二进制数10110.101转换为十进制数是()。

A22.625

B20.625

C22.725#20.725


答案是:

在程序调试中,我们需要借助于()来中断程序的运行,查看变量的值。

A变量名

B断点

C设置断点函数

D程序段


答案是:

排序算法是按照某个或某些关键字的(),递增或递减的排列起来的操作

A类别

B属性

C名称

D大小


答案是:

()是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境等等。

AVS

BVM

CDev-C++

DIDE


答案是:

下列叙述中正确的是()。

A线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D上述三种说法都不对


答案是:

在深度为7的满二叉树中,叶子结点的个数为()。

A32

B31

C64

D63


答案是:

数制中某一位上的1所表示数值的大小(所处位置的价值)称为()。

A进制

B基数

C位权

D数码


答案是:

动态规划是一种在数学和计算机科学中使用的,用于求解包含()的最优化问题的方法。

A重叠子问题

B相似子问题

C互斥子问题

D有序子问题


答案是:

十六进制数38A.11转换为十进制数是()。

A960.06

B916.0364

C906.0664

D902.0563


答案是:

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

A文件注释

B函数注释

C功能注释

D程序注释


答案是:

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

A设置断点

B单步调试

C程序编译

D程序调试


答案是:

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

A小于

B等于

C大于

D不等于


答案是:

在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的末尾,该排序方法是()。

A选择

B冒泡

C插入

D堆


答案是:

对于循环队列,下列叙述中正确的是(  )

A队头指针是固定不变的

B队头指针一定大于队尾指针

C队头指针一定小于队尾指针

D队头指针可以大于队尾指针,也可以小于队尾指针


答案是:

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

Aa[3]与a[2]

Ba[0]与a[2]

Ca[0]与a[1]

Da[0]与a[3]


答案是:

不属于C语言字符常量的是()。

A‘65'

B'\027'

C'A'

D'\n'


答案是:

strcpy()函数用来()。

A求字符串长度

B比较字符

C求子串

D字符串拷贝


答案是:

有以下程序
#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;
}
程序运行后的输出结果是()。

A4

B10

C14

D6


答案是:

有以下程序,执行后的输出结果是()。
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)); }

A7

B3

C2

D0


答案是:

递归函数f(n)=f(n-1)+n(n>1)的递归出口是()。

Af(1)=0

Bf(1)=1

Cf(0)=1

Df(n)=n


答案是:

tolower()函数用来()。

A小写字母转换为大写字母

B大写字母转换为小写字母

C小写字母转换为大写字母,同时大写字母转换为小写字母

D判断大小写


答案是:

下列排序算法中()排序在一趟结束后不一定能选出一个元素放在其最终位置上。

A选择

B冒泡

C归并

D堆


答案是:

下面关于二分查找的叙述正确的是()

A表必须有序,表可以顺序方式存储,也可以链表方式存储

B表必须有序,而且只能从小到大排列

C表必须有序且表中数据必须是整型,实型或字符型

D表必须有序,且表只能以顺序方式存储


答案是:

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

AO(logn)

BO(n)

CO(n*logn)

DO(n2)


答案是:

输出一个字符串时使用()格式符。

A%c

B%s

C%d

D%e


答案是:

有以下程序,其运行后的结果是()。
void f(int n, int *r)
{ int r1=0;
 if(n%3==0) r1=n/3;
 else if(n%5==0) r1=n/5;
 else f(--n,&r1); *r=r1;
}
main()
{ int m=7,r;
 f(m,&r);
 printf("%d\n",r);
}

A2

B1

C3

D0


答案是:

对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。

A冒泡排序为n/2

B冒泡排序为n

C快速排序为n

D快速排序为n(n-1)/2


答案是:

对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1) 84 47 25 15 21  (2) 15 47 25 84 21  (3) 15 21 25 84 47  (4) 15 21 25 47 84 则采用的排序方法是()。

A选择

B冒泡

C快速

D插入


答案是:

字符串”China Beijing”的长度是()

A12

B13

C14

D15


答案是:

下列排序方法中,哪一个是稳定的排序方法?()

A直接选择排序

B二分法插入排序

C希尔排序

D快速排序


答案是:

int atoi(char *s)函数的作用是()。

A整数转换为字符串

B字符串转换为整数

C字符转换为字符串

D获取字符个数


答案是:

下面说法错误的是()。

A递推和递归同属于迭代解法的两种不同实现方式

B递推:知道第一个,推出下一个,直到达到目的;递归:要知道第一个,需要先知道下一个,直到一个已知的,再反回来,得到上一个,直到第一个

C算法执行效率不同:递推效率和速度高于递归。

D算法执行效率不同:递归效率和速度高于递推


答案是:

isalpha()函数用来()。

A判断字母

B判断数字

C判断大写

D判断小写


答案是:

下列叙述中,正确的是()。

A对长度为n 的有序链表进行查找,最坏情况下需要的比较次数为n

B对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)

C对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)

D对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)


答案是:

从平均性能考虑,目前最好的内排序方法是()排序法。

A冒泡

B希尔插入

C交换

D快速


答案是:

若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。

A(n-1)/2

Bn/2

C(n+1)/2

Dn


答案是:

isdigit()函数用来()。

A判断字母

B判断数字

C判断大写

D判断小写


答案是:

有以下程序,程序的运行结果是()。
#include <stdio.h>
int f(int x )
{ int y;
 if (x==0||x==1) return (3);
 y=x*x- f(x-2);
 return y;
}
main()
{ int z;
 z=f(3);
 printf(“%d\n”,z);
}

A0

B9

C6

D8


答案是:

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

A直接插入排序

B快速排序

C直接选择排序

D堆排序


答案是:

某内排序方法的稳定性是指()。

A该排序算法不允许有相同的关键字记录

B该排序算法允许有相同的关键字记录

C平均时间为0(n log n)的排序方法

D以上都不对


答案是:

isupper()函数用来()。

A判断字母

B判断数字

C判断大写

D判断小写


答案是:

输出单个字符时使用()格式符。

A%c

B%s

C%d

D%e


答案是:

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

A递归部分

B终止条件和递归部分

C循环部分

D终止条件和循环部分


答案是:

isalnum()函数用来()。

A判断字符串

B判断大写

C判断数字或字母

D判断小写


答案是:

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

Alog2n

Bn/2

Cn

Dn+1


答案是:

字符串比较的函数是()。

Astrlen()

Bstrcpy()

Cstrcmp()

Dstrcat()


答案是:

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

A堆排序,冒泡排序

B快速排序,堆排序

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

D归并排序,冒泡排序


答案是:

函数strlen("JinlinChangchun")的函数值是()

A15

B16

C17

D18


答案是:

已知一列数{8,9,10,4,5,6},使用冒泡排序法对其按照升序进行排列,第0趟比较之后数列为()

A8,9,4,5,6,10

B8,9,4,5,10,6

C10,8,9,4,5,6

D8,4,5,6,9,10


答案是:

已知一列数{8,9,7,4,1,2},使用简单选择排序法对其按照升序进行排列,第0趟比较之后数列为()

A8,9,7,4,1,2

B1,9,7,4,8,2

C8,7,4,1,2,9

D1,2,8,9,7,4


答案是:

字符数组通过()来引用其中的某个元素。

A数组名

B下标

C数组名和下标

D字符串名


答案是:

strchr()函数用来()。

A字符串连接

B比较字符

C求字符位置

D求子串位置


答案是:

设有如下函数定义
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 总共被调用的次数是()。

A2

B3

C4

D5


答案是:

strcmp()函数用来()。

A求字符串长度

B比较字符

C求子串

D字符串拷贝


答案是:

在下列排序算法中,哪一个算法的时间复杂度与初始排序无关()。

A直接插入排序

B冒泡排序

C快速排序

D直接选择排序


答案是:

在长度为n的线性表中,寻找最大项至少需要比较()次

An

Bn-1

Cn/2

D(n-1)/2


答案是:

采用简单选择排序,比较次数与移动次数分别为()。

AO(n),O(logn)

BO(logn),0(n*n)

C0(n*n),0(n)

D0(nlogn),0(n)


答案是:

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

A错误

B正确


答案是:

归并排序在任何情况下都比所有简单排序速度快。

A错误

B正确


答案是:

求n的阶乘的表示方法n!=n*(n-1)! ,其中0!=1,对应的是递归的思想。

A错误

B正确


答案是:

假如用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有19个元素。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

按“先进后出”原则组织数据的数据结构是队列。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

栈和队列都是线性结构。

A错误

B正确


答案是:

高精度计算时可以用数组来存储运算结果。

A错误

B正确


答案是:

确定性是指算法的每一个步骤必须要确切地定义。

A错误

B正确


答案是:

十进制数转换成二进制数,须将整数部分和小数部分分别转换。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

树中所有结点度的最大值就是树的深度。

A错误

B正确


答案是:

若算法中语句执行次数为一个常数,则时间复杂度为O(n)

A错误

B正确


答案是:

在顺序表中进行结点的删除操作平均须移动一半结点。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

高精度计算时可以用字符串来存储运算结果。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

一个栈的初始状态为空,首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A、B、C、D依次入栈,之后将所有元素全部退栈,则所元素退栈(包括中间退栈的元素)的顺序为1DCBA2345。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

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

A错误

B正确


答案是:

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

A错误

B正确


答案是:

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

A错误

B正确


答案是:

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

A错误

B正确


答案是:

在程序中关键字和变量名之间不需要加空格。

A错误

B正确


答案是:

在进行单步调试时,按F4开始调试,程序便会直接运行到断点处。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

二叉树第i(i>=1)层上至多有2^(i-1)个结点。

A错误

B正确


答案是:

快速排序的基本思想是将每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。

A错误

B正确


答案是:

在有n个顶点的有向图中,每个顶点的度最大可达2*(n-1)。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

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

A错误

B正确


答案是:

在递归算法所体现的“重复”中要求每次调用在规模上都有所缩小。

A错误

B正确


答案是:

可以采用赋值语句将一个字符串直接赋给一个数组。

A错误

B正确


答案是:

从已知条件出发,逐步推出要解决的问题,这种方法称为倒推法。

A错误

B正确


答案是:

插入排序的时间复杂度为O(n)。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

冒泡排序和快速排序都是基于交换两个逆序元素的排序方法,冒泡排序算法的最坏时间复杂性是O(n*n),而快速排序算法的最坏时间复杂性是O(nlog2n),所以快速排序比冒泡排序算法效率更高。

A错误

B正确


答案是:

交换排序法是对序列中的元素进行一系列比较,当被比较的两个元素逆序时,进行交换,冒泡排序和快速排序是基于这类方法的两种排序方法,冒泡排序算法的最坏时间复杂性是O(n*n) ,而快速排序算法的最坏时间复杂性是O(nlog2n);所以快速排序比冒泡排序效率更高。

A错误

B正确


答案是:

字符串在存储时,系统自动在其后加上结束标志。

A错误

B正确


答案是:

有n个数存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同。

A错误

B正确


答案是:

对于二分查找,表必须有序且表中数据必须是整型,实型或字符型。

A错误

B正确


答案是:

字符数组在初始化时数据个数必须和数组长度一致。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

为提高在外排序过程中,对长度为N的初始序列进行“置换—选择”排序时,可以得到的最大初始有序段的长度不超过N/2。

A错误

B正确


答案是:

在使用递归策略时,必须有一个明确的递归结束条件,称为递归入口。

A错误

B正确


答案是:

简单选择排序和冒泡排序都是一种不稳定排序方法。

A错误

B正确


答案是:

字符串比较时是基于字典顺序的。

A错误

B正确


答案是:

递推分倒推法和顺推法两种形式。

A错误

B正确


答案是:

快速排序的时间复杂度为O(n*n)。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

在C语言中字符串的头文件是string.h。

A错误

B正确


答案是:

查找就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或数据元素。

A错误

B正确


答案是:

在查找其关键字等于给定值的过程中,需要和给定值进行比较的关键字个数的期望值称为查找成功时的平均查找长度,则称为平均查找长度ASL。

A错误

B正确


答案是:

下列程序段实现的是顺序查找功能()
int Search(int array[], int n, int key)
{
int i;
array[n] = key;
for(i=0;key!=array[i];i++);
 return(i<n?i:-1);
}

A错误

B正确


答案是:

字符数组的初始化可以逐个元素进行初始化。

A错误

B正确


答案是:

当待排序的元素很大时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

快速排序总比简单排序快。

A错误

B正确


答案是:

冒泡排序是一种不稳定排序方法。

A错误

B正确


答案是:

字符数组可用字符串来初始化。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

统计字符串长度时包括字符串结束标志。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

排序算法中的比较次数与初始元素序列的排列无关。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

简单选择排序的时间复杂度为n*n。

A错误

B正确


答案是:

对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为log2n。

A错误

B正确


答案是:

两个字符串中的字符个数相同时才能进行字符串大小的比较。

A错误

B正确


答案是:

puts不需要格式控制符,且自动换行。

A错误

B正确


答案是:

下列说法不正确的是( )。

A任何一个包含两个属性的关系模式一定满足3NF

B任何一个包含两个属性的关系模式一定满足BCNF

C任何一个包含三个属性的关系模式一定满足3NF

D任何一个关系模式都一定有码


答案是:

若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A快速排序

B堆排序

C归并排序

D直接插入排序


答案是:

一个良好算法的基本单元是:顺序结构、循环结构和()。

A线性结构

B离散结构

C数据结构

D选择结构


答案是:

遗传算法用于解决()。

A排序问题

B规划问题

C最优化问题

D决策问题


答案是:

下列叙述中正确的是(   )

A数据的逻辑结构与存储结构必定是一一对应的

B由于计算机在存储空间上是向量式的存储结构,因此,利用数组只能处理线性结构

C程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构

D以上说法都不对


答案是:

下列说法错误的是()

A使用高级计算机语言,如C、C++、Java,编写的程序,都需要经过编译器编译或解释,才能转化成机器能够识别并能执行的二进制代码。

B如何一步步的跟踪代码,找到问题,搞明白为何程序不能正常运行,这个过程称为调试程序。

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

D调试器并能解决程序中出现的问题。


答案是:

()是一个开放源代码的、基于Java的可扩展开发平台。

AVS

BDev-C++

CEclipse

DJDK


答案是:

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

A对搜索位置进行评估

B对搜索时间进行限定

C对搜索速度进行控制

D对搜索目标的设定


答案是:

下列对队列的叙述正确的是()。

A队列属于非线性表

B队列按“先进后出”原则组织数据

C队列在队尾删除数据

D队列按“先进先出”原则组织数据


答案是:

数制中表示基本数值大小的不同数字符号称为()。

A进制

B基数

C位权

D数码


答案是:

()命令是用来比较两个文件并显示它们的差异。

Adir

Bcd

Ctype

Dfc


答案是:

算法流程图由一些图框和流程线组成,下面表示处理的图框是()。

A圆形

B菱形

C圆角矩形

D矩形


答案是:

下列叙述中不是线性表的特点的是()

A同一性

B有穷性

C有序性

D任意性


答案是:

十进制数2024等值于十六制数为( )。

A7E8

B6F7

C7AB

D3DF


答案是:

数制是人们利用( )进行计数的一种科学方法。

A数字

B符号

C字母

D图形


答案是:

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

An+1

Bn-1

C2n

Dn/2


答案是:

十进制中最大的数码是()。

A6

B7

C8

D9


答案是:

支持子程序调用的数据结构是( )

A栈

B树

C队列

D二叉树


答案是:

二进制中最大的数码是()。

A0

B1

C2

D3


答案是:

十六进制中最大的数码是()。

A16

B15

CF

DE


答案是:

递推法的基本思想()。

A不断用变量的旧值递推新值的过程

B把全部可行的解空间不断分割为越来越小的子集(称为分支),并为每个子集内的解的值计算一个下界或上界

C将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解

D一种用若干步可重复的简运算(规律)来描述复杂问题的方法


答案是:

深度优先搜索的搜索策略是()。

A尽可能“深”地搜索图

B尽可能“深”地搜索树

C尽可能“深”地搜索表

D尽可能“深”地搜索队列


答案是:

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

A代码编辑器、编译器

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

C编译器、调试器

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


答案是:

cd 目录名的功能是()。

A退回到根目录

B退回到上一级目录

C进入特定的目录

D显示出文本文件的内容


答案是:

下列叙述中正确的是()

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

B栈与队列是非线性结构

C双向链表是非线性结构

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


答案是:

下列数据结构中,属于非线性结构的是(  )。

A循环队列

B带链队列

C二叉树

D带链栈


答案是:

二进制的1110,0的位权是()。

A0

B1

C2

D4


答案是:

使用(),可以简化日常或重复性任务,使用方便、灵活,功能强大,自动化程度高。

A文件读写函数

B批处理文件

C单步调试功能

D设置断点


答案是:

C语言中,使用变量的要求是()。

A要先定义后使用

B要先使用后定义

C不需要定义,可以直接使用

D没有明确的要求


答案是:

十进制中最小的数码是()。

A10

B9

C1

D0


答案是:

广度优先搜索的原则()。

A按时间遍历解空间

B按代价遍历解空间

C按层遍历解空间

D按速度遍历解空间


答案是:

九进制,就表示某一位置上的数运算时是逢()进一位。

A2

B8

C9

D10


答案是:

判断 c 是否是数字字符的函数是()。

Aisalpha(int c)

Bisalnum(int c)

Cislower(int c)

Disdigit(int c)


答案是:

对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88, 92, 100}进行二分查找,等概率的情况下查找成功的平均查找长度(平均比较次数)是()。

A35/11

B34/11

C33/11

D32/11


答案是:

将f=1+1/2+1/3+…+1/n转化成递归函数,其递归体是()。

Af(1)=0

Bf(1)=1

Cf(0)=1

Df(n)=f(n-1)+1/n


答案是:

在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。

AO(n)

BO(n2)

CO(log2n)

DO(nlog2n)


答案是:

strstr()函数用来()。

A字符串连接

B比较字符

C求字符位置

D求子串位置


答案是:

下列数据结构中,能用二分法进行查找的是()。

A顺序存储的有序线性表

B线性链表

C二叉链表

D有序线性链表


答案是:

顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为()次。

An/2

B(n+1)/2

C(n-1)/2

Dn


答案是:

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

A顺序查找

B折半查找

C平均查找

D折中查找


答案是:

在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()。

A63

B64

C6

D7


答案是:

strlen(str)是用来()。

A求字符串长度

B比较字符

C求子串

D字符串拷贝


答案是:

strrev("abcd")返回值为()。

A"abcd"

B"dcba"

C"cdab"

D"ab"


答案是:

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

A选择排序法

B插入排序法

C快速排序法

D堆积排序法


答案是:

如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。()就是不稳定的排序方法。

A起泡排序

B归并排序

CShell排序

D直接插入排序


答案是:

对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()。

A(N+1)/2

BN/2

CN

D((1+N)*N )/2


答案是:

下面的时间复杂度按数量级递增的顺序排列,正确的是()。

A平方阶O(n2),对数阶O(log2n),指数阶O(2n)

B线性对数阶O(nlog2n),指数阶O(2n),立方阶O(n3)

C常数阶O(1),线性阶O(n),指数阶O(2n)

Dk次方阶O(nk),指数阶O(2n),对数阶O(log2n)


答案是:

递归算法是()。

A枚举所有可能,尽可能地尝试所有的方法。

B从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件。

C从已知条件出发,逐步推算出要解决的问题的方法。

D一种通过重复将问题分解为同类的子问题而解决问题的方法。


答案是:

一棵二叉树第6层(根结点为第一层)的结点数最多为31个。

A错误

B正确


答案是:

在任何情况下,顺序表中进行结点的插入操作时都不需要移动结点。

A错误

B正确


答案是:

当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为上溢。

A错误

B正确


答案是:

C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

A错误

B正确


答案是:

int a[10]; 说明整型数组a,有10个元素。

A错误

B正确


答案是:

float b[4][5];定义b为5×6(5行6列)的数组。

A错误

B正确


答案是:

编辑与编译是一回事。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

C语言允许对数组的大小作动态定义,即定义行中的数组长度能包括变量。

A错误

B正确


答案是:

对一棵二叉树进行先序遍历的序列为ABCDEFG,则该二叉树的根为结点A。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

字符串的结束标记在输出时也会被输出。

A错误

B正确


答案是:

二分法插入排序所需比较次数与待排序记录的初始排列状态相关。

A错误

B正确


答案是:

当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省。

A错误

B正确


答案是:

快速排序是一种不稳定排序方法。

A错误

B正确


答案是:

通过scanf("%s",s)获得的字符中包含回车键。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

递推中的顺推法是指从已知条件出发,逐步推出要解决的问题。

A错误

B正确


答案是:

很多递归问题可转为递推,比如阶乘、 Fibonacci数列等。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

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

A错误

B正确


答案是:

递推就是在函数里调用自身。

A错误

B正确


答案是:

就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。

A错误

B正确


答案是:

归并排序是一种稳定的排序方法。

A错误

B正确


答案是:

顺序查找法适合于存储结构为散列存储的线性表

A错误

B正确


答案是:

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

A错误

B正确


答案是:

字符数组要求其最后一个元素是‘\0’。

A错误

B正确


答案是:

外部排序是把外存文件调入内存,可利用内部排序的方法进行排序,因此排序所花的时间取决于内部排序的时间。

A错误

B正确


答案是:

字符数组通过数组名和数组下标来引用其中的某个元素

A错误

B正确


答案是:

能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成规模较小的问题,然后从这些小问题的解很容易构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解。特别地,当规模N=1时,能直接得解。

A错误

B正确


答案是:

当待排序的元素数量很大时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素。

A错误

B正确


答案是:

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

A错误

B正确


答案是:

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

A只有一个入口

B只有一个出口

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

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


答案是:

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

A递归

B递推

C回归

D回溯


答案是:

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

A"%c"

B"%d"

C"%f"

D"%s"


答案是:

提示:下载前请核对题目。客服微信:diandahome
下载的文档都包含参考答案
特别声明:以上内容(如有图片或文件亦包括在内)为“电大之家”用户上传并发布,仅代表该用户观点,本平台仅提供信息发布。