

1、单选题:
算法的衡量包括()复杂度和空间复杂度。
选项:
A: 时间
B: 效率
C: 频度
D: 运算
答案: 【 时间】
2、单选题:
( )是数据结构中讨论的最小单位。
选项:
A: 数据元素
B: 数据结点
C: 数据操作
D: 数据项
答案: 【 数据项】
3、单选题:
一个算法必须满足以下五个重要特性:确定性、( )、有穷性、输入、输出。
选项:
A: 正确性
B: 准确性
C: 可行性
D: 完整性
答案: 【 可行性 】
4、单选题:
数据的逻辑结构可归结为以下四类:集合结构、( )、树形结构、图状结构。
选项:
A: 线性结构
B: 顺序结构
C: 链表结构
D: 存储结构
答案: 【 线性结构】
5、单选题:
数据的逻辑结构可形式地用一个二元组B=(K,R)来表示,其中K是( ),R是(K上关系的有穷集合)。
选项:
A: 结点的有穷集合
B: 数据元素的有限集合
C: 运算的有限集
D: 操作的有限集
答案: 【 数据元素的有限集合】
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、填空题:
在n个结点的顺序表中插入一个结点需平均移动( )个结点,具体移动次数取决于( )。
答案: 【 答案:
1、n/2
2、表的长度和插入点的位置】
7、填空题:
一个算法具备的重要特性包括( )、确定性、( ),输入、输出。
答案: 【 答案:
1、有穷性
2、可行性】
8、填空题:
( )是数据的基本单位。
答案: 【 答案:
数据元素】
1、单选题:
【2-1-1】在下列关于线性表的叙述中正确的是( )。
选项:
A: A.线性表的逻辑顺序与物理顺序总是一致的
B: B.线性表的顺序存储表示优于链式存储表示
C: C.线性表若采用链式存储表示时所有存储单元的地址可连续可不连续
D: D.除数组外,每种数据结构都应具备3种基本运算:插入、删除和查找
答案: 【 D.除数组外,每种数据结构都应具备3种基本运算:插入、删除和查找】
2、单选题:
【2-1-2】数据结构反映了数据元素之间的结构关系。单链表是一种( )。
选项:
A: A.顺序存储线性表
B: B.非顺序存储非线性表
C: C.顺序存储非线性表
D: D.非顺序存储线性表
答案: 【 D.非顺序存储线性表】
3、单选题:
【2-1-3】单链表又称为线性链表,在单链表上实施插入和删除操作( )。
选项:
A: A.不需移动结点,不需改变结点指针
B: B.不需移动结点,只需改变结点指针
C: C.只需移动结点,不需改变结点指针
D: D.既需移动结点,又需改变结点指针
答案: 【 B.不需移动结点,只需改变结点指针】
4、单选题:
【2-1-4】已知单链表中结点*q是结点*p的直接前趋,若在*q与*p之间插入结点*s,则应执行以下( )操作。
选项:
A: A.s->next=p->next;p->next=s;
B: B.q->next=s;s->next=p;
C: C.p->next=s->next;s->next=p;
D: D.p->next=s;s->next=q;
答案: 【 B.q->next=s;s->next=p;】
5、单选题:
【2-1-5】已知单链表中结点*p不是链表的尾结点,若在*p之后插入结点*s,则应执行以下( )操作。
选项:
A: A.s->next=p;p->next=s;
B: B.p->next=s;s->next=p;
C: C.s->next=p->next;p=s;
D: D.s->next=p->next;p->next=s;
答案: 【 D.s->next=p->next;p->next=s;】
6、单选题:
【2-1-6】已知L是带头结点的单链表,则摘除首结点的语句是( )。
选项:
A: A.L=L->next;
B: B. L->next=L->next->next;
C: C.L=L->next->next;
D: D.L->next=L;
答案: 【 B. L->next=L->next->next;】
7、单选题:
【2-1-7】已知单链表A长度为m,单链表B长度为n,若将B链接在A的末尾,在没有链尾指针的情形下,算法的时间复杂度应为( )。
选项:
A: A.O(1)
B: B.O(m)
C: C.O(n)
D: D.O(m+n)
答案: 【 B.O(m)】
8、单选题:
【2-1-8】给定有n个元素的一维数组,建立一个有序单链表的时间复杂度是( )。
选项:
A: O(1)
B: B.O(n)
C: C.O(n^2)
D: D.O(nlog2n)
答案: 【 C.O(n^2)】
9、填空题:
【2-2】下面算法的功能是:统计带头结点的单链表中具有给定值x的所有元素个数。请在空白处填入正确的语句。int Count(LinkList &L, ElemType x)
{
int count = 0;
LinkList p = _______①______;
while(p != NULL) {
if(_____②______)
_____③____;
p = p->next;
}
_______④_______;
}
答案: 【 答案:
1、L->next
2、p->data == x
3、count++
4、return count】
1、单选题:
【2-1-1】下列关于线性表的叙述中正确的是( )。
选项:
A: A.每个元素最多有一个直接前趋和一个直接后继
B: B.每个元素最少有一个直接前趋和一个直接后继
C: C.每个元素有且仅有一个直接前趋,有且仅有一个直接后继
D: D.线性表中每个元素都是不可再分解的数据元素,且数据类型必须相同
答案: 【 A.每个元素最多有一个直接前趋和一个直接后继】
2、单选题:
【2-1-2】在二维表格(线性表)中的每一个表元素都是不可再分的( )。
选项:
A: A.数据项
B: B.记录
C: C.数据元素
D: D.字段
答案: 【 C.数据元素】
3、单选题:
【2-1-3】以下关于顺序表的说法中,正确的是( )。
选项:
A: A.顺序表可以利用一维数组表示,因此顺序表与一维数组在结构上是一致的,它们可以通用
B: B.在顺序表中,逻辑上相邻的元素在物理位置上不一定相邻
C: C.顺序表和一维数组一样,都可以按下标随机(或直接)访问,顺序表还可以从某一指定元素开始,向前或向后逐个元素顺序访问
D: D.在顺序表中每一元素的数据类型还可以是顺序表
答案: 【 C.顺序表和一维数组一样,都可以按下标随机(或直接)访问,顺序表还可以从某一指定元素开始,向前或向后逐个元素顺序访问】
4、单选题:
【2-1-4】设线性表有n个元素且采用顺序存储表示,算法的时间复杂度为O(1)的操作是( )。
选项:
A: A.访问第i个元素和求第i个元素的直接前趋(2≤i≤n)
B: B.在第i(1≤i≤n)个元素后面插入一个新元素
C: C.删除数组第i个元素
D: D.顺序查找与给定值k相等的元素
答案: 【 A.访问第i个元素和求第i个元素的直接前趋(2≤i≤n)】
5、单选题:
【2-1-5】在以下有关顺序表的叙述中正确的是( )
选项:
A: A.顺序表的优点是存储密度高
B: B.集合与顺序表的区别在于集合中的元素不能相等
C: C.线性表就是顺序存储的表
D: D.取顺序表第i个元素的时间与i的大小有关
答案: 【 A.顺序表的优点是存储密度高】
6、填空题:
【2-2】下面算法的功能是:从顺序表中删除具有最小值的元素并由函数返回被删元素的值。空出的位置由最后一个元素填补,当顺序表为空则显示出错信息并退出运行。请在空白处填入正确的语句。
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];
_______⑤________;
备案号:冀ICP备20010840号 2020-2099辉辉网络科技 All Rights Reserved