

1、单选题:
算法分析的目的是( )
选项:
A: 找出数据结构的合理性
B: 研究算法中的输入和输出的关系
C: 分析算法的效率以求改进
D: 分析算法的易懂性和文档性
答案: 【 分析算法的效率以求改进】
2、单选题:
算法分析的两个主要方面是( )
选项:
A: 正确性和简明性
B: 可读性和文档性
C: 空间复杂度和时间复杂度
D: 数据复杂性和程序复杂性
答案: 【 空间复杂度和时间复杂度】
3、单选题:
计算机算法必具备输入、输出( )等五个特性。
选项:
A: 可行性、可移植性和可扩充性
B: 确定性、有穷性和稳定性
C: 可行性、确定性和有穷性
D: 易读性、稳定性和安全性
答案: 【 可行性、确定性和有穷性】
4、单选题:
对算法进行分析的前提是( )
选项:
A: 算法必须简单
B: 算法必须正确
C: 算法运行时间少
D: 算法占用空间少
答案: 【 算法必须正确】
5、单选题:
数据的存储结构通常可以有( )
选项:
A: 两种,它们分别是顺序存储结构和链式存储结构
B: 三种,它们分别是顺序存储结构、链式存储结构与索引结构
C: 三种,它们分别是顺序存储结构、链式存储结构与散列结构
D: 四种,它们分别是顺序存储结构、链式存储结构、索引结构与散列结构
答案: 【 四种,它们分别是顺序存储结构、链式存储结构、索引结构与散列结构】
6、单选题:
下面的叙述中,不正确的是( )
选项:
A: 算法与程序都独立于具体的计算机与具体的程序设计语言
B: 程序是用计算机语言表述的算法
C: 流程图是图形化的算法
D: 程序就是算法、但算法不一定就是程序
答案: 【 算法与程序都独立于具体的计算机与具体的程序设计语言】
7、判断题:
算法和程序是一个意思
选项:
A: 正确
B: 错误
答案: 【 错误】
8、判断题:
数据元素是数据的最小单位,数据项是数据的基本单位。
选项:
A: 正确
B: 错误
答案: 【 错误】
9、判断题:
数据元素是数据的基本单位,数据项是数据的最小单位。
选项:
A: 正确
B: 错误
答案: 【 正确】
10、判断题:
数据元素是数据的最小单位。
选项:
A: 正确
B: 错误
答案: 【 错误】
1、单选题:
【TEST-2-1-1】下列关于线性表的叙述中正确的是( )。
选项:
A: 每个元素最多有一个直接前趋和一个直接后继
B: 每个元素最少有一个直接前趋和一个直接后继
C: 每个元素有且仅有一个直接前趋,有且仅有一个直接后继
D: 线性表中每个元素都是不可再分解的数据元素,且数据类型必须相同
答案: 【 每个元素最多有一个直接前趋和一个直接后继】
2、单选题:
【TEST-2-1-2】在二维表格(线性表)中的每一个表元素都是不可再分的( )。
选项:
A: 数据项
B: 记录
C: 数据元素
D: 字段
答案: 【 数据元素】
3、单选题:
【TEST-2-1-3】以下关于顺序表的说法中,正确的是( )。
选项:
A: 顺序表可以利用一维数组表示,因此顺序表与一维数组在结构上是一致的,它们可以通用
B: 在顺序表中,逻辑上相邻的元素在物理位置上不一定相邻
C: 顺序表和一维数组一样,都可以按下标随机(或直接)访问,顺序表还可以从某一指定元素开始,向前或向后逐个元素顺序访问
D: 在顺序表中每一元素的数据类型还可以是顺序表
答案: 【 顺序表和一维数组一样,都可以按下标随机(或直接)访问,顺序表还可以从某一指定元素开始,向前或向后逐个元素顺序访问】
4、单选题:
【TEST-2-1-4】设线性表有n个元素且采用顺序存储表示,算法的时间复杂度为O(1)的操作是( )。
选项:
A: 访问第i个元素和求第i个元素的直接前趋(2≤i≤n)
B: 在第i(1≤i≤n)个元素后面插入一个新元素
C: 删除数组第i个元素
D: 顺序查找与给定值k相等的元素
答案: 【 访问第i个元素和求第i个元素的直接前趋(2≤i≤n)】
5、单选题:
【TEST-2-1-6】在以下有关顺序表的叙述中正确的是( )
选项:
A: 顺序表的优点是存储密度高
B: 集合与顺序表的区别在于集合中的元素不能相等
C: 线性表就是顺序存储的表
D: 取顺序表第i个元素的时间与i的大小有关
答案: 【 顺序表的优点是存储密度高】
6、填空题:
【TEST-2-2】下面算法的功能是:从顺序表中删除具有最小值的元素并由函数返回被删元素的值。空出的位置由最后一个元素填补,当顺序表为空则显示出错信息并退出运行。请在空白处填入正确的语句。(每空5分)int deleteMin(SqList &L, ElemType &x)
{
//删除顺序表 L 中具有最小值的元素。 如果删除成功, 则函数返回 1并通过引用
//型参数 x 返回其值, 否则函数返回 0。
if (______①______) {
printf("这是空表!n");
return 0;
}
int i, ________②_______; //假定0号元素的值最小
for (i = _____③______; i <= L.length; i++) //循环,寻找具有最小值的元素
if (L.elem[i – 1] < L.elem[min_i])
min_i = _____④_____; //min_i 记忆当前具最小值元素的位置
x = L.elem[min_i];
_______⑤________;
L.elem[min_i] = L.elem[L.length];
return 1;
}
答案: 【 1、L.length == 0
2、min_i = 0
3、2
4、i – 1
5、L.length–】
7、填空题:
【TEST-2-3】下面算法的功能是:从顺序表中删除具有给定值x的所有元素。请在空白处填入正确的语句。(每空5分)void deleteValue(SqList &L, ElemType x)
{
// 在顺序表 L 中删除所有具有值 x 的元素
int i,______ ①_______;
for(i = 0; i < _____②_____; i++) // 检测表中所有元素
if(L.elem[i] != x) { // 若元素不具有 x 值
if(_______③______) //该元素前移
_______④_________ = L.elem[i];
 
备案号:冀ICP备20010840号 2020-2099辉辉网络科技 All Rights Reserved