论 单元测试

 

1、判断题:学好算法与数据结构的关键在于多多实践。
A:错
B:对
正确答案:【对】

第一章 单元测试

1、单选题:数据结构是()
A:相互之间存在一种或多种特定关系的数据元素的集合
B:数据的存储结构
C:一组性质相同的数据元素的集合
D:一种数据类型
正确答案:【相互之间存在一种或多种特定关系的数据元素的集合】

2、单选题:下列说法错误的是()
A:数据是指描述客观事物的特征及活动所采用的符号形式
B:数据处理方式总是与数据的表示形式相联系
C:数据元素是数据的基本单位
D:数据在计算机存储器内的存在形式称为机外表示
正确答案:【数据在计算机存储器内的存在形式称为机外表示】

3、判断题:算法的描述方法只有语言方式。
A:对
B:错
正确答案:【错】

4、单选题:下列关于算法说法错误的是()
A:算法就是数学中的计算方法
B:算法是对特定问题求解步骤的一种描述
C:算法是在存储结构上的操作实现方法
D:算法是指令的有限序列
正确答案:【算法就是数学中的计算方法】

5、多选题:有哪几种存储结构?
A:散列存储方式
B:顺序存储方式
C:链式存储方式
D:索引存储方式
正确答案:【散列存储方式;顺序存储方式;链式存储方式;索引存储方式】

6、单选题:算法的效率主要是指()
A:其他选项都不对
B:算法的空间效率
C:算法的时间效率
D:算法的空间效率和时间效率
正确答案:【算法的空间效率和时间效率】

7、单选题:在数据结构的讨论中把数据结构从逻辑上分为()
A:内部结构与外部结构
B:紧凑结构与非紧凑结构
C:静态结构与动态结构
D:线性结构与非线性结构
正确答案:【线性结构与非线性结构】

8、单选题:指出下列程序段的时间复杂度()sum=1;for (i=0;sum<n;i++) sum+=1;
A:O(n*n)
B:O(1)
C:O(n)
D:O(0)
正确答案:【O(n)】

9、单选题:树形结构中元素之间存在()关系
A:一对多
B:多对多
C:一对一
D:没有关系
正确答案:【一对多】

10、单选题:图形结构中元素之间存在()关系
A:一对多
B:没有关系
C:一对一
D:多对多
正确答案:【多对多】

第二章 单元测试

1、单选题:带头结点的单链表head为空的判定条件是()
A:head->next= =head
B:head->next= =NULL
C:head!=NULL
D:head= =NULL
正确答案:【head->next= =NULL】

2、单选题:循环链表的主要优点是()。
A:不再需要头指针
B:在进行插入、删除运算时能保证链表不断开
C:在表中任一结点出发都能扫描整个链表
D:已知某结点位置后能容易找到其直接前驱
正确答案:【在表中任一结点出发都能扫描整个链表】

3、单选题:线性表若采用链式存储结构时,要求内存中可用存储单元的地址()
A:一定是不连续的
B:部分地址必须是连续的
C:必须是连续的
D:连续或不连续都可以
正确答案:【连续或不连续都可以】

4、单选题:若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。
A:单链表
B:顺序表
C:循环单链表
D:双链表
正确答案:【顺序表】

5、单选题:在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需向后移动()个元素
A:n-i
B:n-i+1
C:n-i-1
D:i
正确答案:【n-i+1】

6、单选题:线性表的顺序存储结构是一种()存储结构。
A:索引存取
B:散列存取
C:随机存取
D:顺序存取
正确答案:【随机存取】

7、单选题:在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是()。
A:q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;
B:q->next=p->next;q->prior=p;p->next=q;p->next=q;
C:p->next=q;q->prior=p;p->next->prior=q;q->next=q;
D:p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
正确答案:【q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;】

8、单选题:在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是()。(答案中的i均为合法输入)
A:对顺序表中元素进行排序
B:删除第i个元素
C:在第i个元素之后插入一个新元素
D:访问第i个元素的前驱
正确答案:【访问第i个元素的前驱】

9、单选题:已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。
A:q->next=s->next;s->next=p;
B:s->next=q;p->next=s->next;
C:s->next=p;q->next=s->next;
D:p->next=s->next;s->next=q;
正确答案:【q->next=s->next;s->next=p;】

10、单选题:在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为()。
A:(n+1)/2
B:n
C:(n-1)/2
D:n/2
正确答案:【(n-1)/2】

第三章 单元测试

1、单选题:栈和队列的共同点是( )
A:都是先进后出
B:只允许在端点处插入和删除元素
C:没有共同点
D:都是先进先出
正确答案:【只允许在端点处插入和删除元素】

2、单选题:一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是()
A:edcba
B:dceab
C:abcde
D:decba
正确答案:【dceab】

3、单选题:设计一个判别表达式中括号是否配对的算法,采用()数据结构最佳。
A:栈
B:队列
C:链表
D:顺序表
正确答案:【栈】

4、单选题:若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0,3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。
A:4和2
B:2和4
C:5和1
D:1和5
正确答案:【2和4】

5、单选题:循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )
A:rear-front
B:rear-front+1
C:(rear-front+m)%m
D:rear-front-1
正确答案:【(rear-front+m)%m】

6、单选题:一个顺序栈S,其栈顶指针为top,则将元素e入栈的操作是()。(注:top指向待插入位置)
A:S->top=e;
B:*S->top=e
C:*S->top=e;S->top++;
D:S->top++;*S->top=e;
正确答案:【*S->top=e;S->top++;】

7、单选题:在解决计算机主机和打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取走数据打印。该缓冲区应该是一个()结构。
A:堆栈
B:线性表
C:数组
D:队列
正确答案:【队列】

8、单选题:当用大小为N的数组存储顺序循环队列时,该队列的最大长度为()。
A:N+1
B:N
C:N-2
D:N-1
正确答案:【N-1】

9、单选题:依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是()。
A:a
B:b
C:d
D:c
正确答案:【c】

10、单选题:向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行( )。(不带空的头结点)
A:s->next= HS->next; HS->next=s;
B:HS->next=s;
C:s->next= HS; HS=s;
D:s->next= HS; HS= HS->next;
正确答案:【s->next= HS; HS=s;】

第四章 单元测试

1、单选题:设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a[1][1]为第一元素,其存储地址为1,每个元素占一个地址空间,则a[8][5]的地址为()。
A:33
B:18
C:40
D:13
正确答案:【33】

2、单选题:设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )
A:BA+180
B:BA+222
C:BA+141
D:BA+225
正确答案:【BA+180】

3、单选题:将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A[66][65](即该元素下标i=66,j=65),在B数组中的位置K为()。
A:197
B:198
C:193
D:195
正确答案:【195】

4、单选题:二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素()的起始地址相同。设每个字符占一个字节
A:10
B:8
C:5
D:3
正确答案:【5】

5、单选题:设二维数组A[1.. m,1.. n](即m行n列)按行存储在数组B[1.. m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为( )
A:(i-1)*n+j-1
B:i*(j-1)
C:(i-1)*n+j
D:j*m+i-1
正确答案:【(i-1)*n+j】

6、单选题:有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是()
A:66
B:33
C:18000
D:60
正确答案:【66】

7、单选题:设有两个串p和q,求q在p中首次出现的位置的运算称作()。
A:模式匹配
B:求子串
C:连接
D:求串长
正确答案:【模式匹配】

8、单选题:常对数组进行的两种基本操作是()。
A:对数据元素的存取和修改
B:查找与索引
C:建立与删除
D:索引和修改
正确答案:【对数据元素的存取和修改】

9、单选题:二维数组A中,每个元素的长度为3个字节,行下标i从0到7,列下标j从0到9,从首地址SA开始连续存放在存储器内,存放该数组至少需要的字节数是()。
A:80
B:100
C:270
D:240
正确答案:【240】

剩余章节答案支付后查看
如有疑问请及时联系QQ 50895809反馈
如果卡顿看不了剩余内容,请换个浏览器打开

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注