绪论单元测试
1
【判断题】(1分)
学好算法与数据结构的关键在于多多实践。
A.
对
B.
错
第一章测试
1
【单选题】(1分)
数据结构是( )
A.
一组性质相同的数据元素的集合
B.
一种数据类型
C.
数据的存储结构
D.
相互之间存在一种或多种特定关系的数据元素的集合
2 【单选题】(1分)
下列说法的是()
A.
数据在计算机存储器内的存在形式称为机外表示
B.
数据元素是数据的基本单位
C.
数据处理方式总是与数据的表示形式相联系
D.
数据是指描述客观事物的特征及活动所采用的符号形式
3
【判断题】(1分)
算法的描述方法只有语言方式。
A.
错
B.
对
4
【单选题】(1分)
下列关于算法说法的是()
A.
算法就是数学中的计算方法
B. 算法是指令的有限序列
C.
算法是对特定问题求解步骤的一种描述
D.
算法是在存储结构上的操作实现方法
5
【多选题】(1分)
有哪几种存储结构?
A.
链式存储方式
B.
散列存储方式
C.
索引存储方式
D.
顺序存储方式
6
【单选题】(1分)
算法的效率主要是指()
A.
其他选项都不对
B.
算法的空间效率 C.
算法的时间效率
D.
算法的空间效率和时间效率
7
【单选题】(1分)
在数据结构的讨论中把数据结构从逻辑上分为()
A.
静态结构与动态结构
B.
内部结构与外部结构
C.
紧凑结构与非紧凑结构
D.
线性结构与非线性结构
8
【单选题】(1分)
指出下列程序段的时间复杂度()
sum=1;
for(i=0;sum sum+=1; A. O(1) B. O(n) C. O(0) D. O(n*n) 9 【单选题】(1分) 树形结构中元素之间存在()关系 A. 一对一 B. 没有关系 C. 多对多 D. 一对多 10 【单选题】(1分) 图形结构中元素之间存在()关系 A. 一对多 B. 没有关系 C. 多对多 D. 一对一 第二章测试 1 【单选题】(1分) 带头结点的单链表head为空的判定条件是() A. head->next==NULL B. head==NULL C. head->next==head D. head!=NULL 2 【单选题】(1分) 循环链表的主要优点是()。 A. 在进行插入、删除运算时能保证链表不断开 B. 已知某结点位置后能容易找到其直接前驱 C. 在表中任一结点出发都能扫描整个链表 D. 不再需要头指针 3 【单选题】(1分) 线性表若采用链式存储结构时,要求内存中可用存储单元的地址() A. 必须是连续的 B. 一定是不连续的 C. 连续或不连续都可以 D. 部分地址必须是连续的 4 【单选题】(1分) 若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。 A. 循环单链表 B. 单链表 C. 顺序表 D. 双链表 5 【单选题】(1分) 在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需向后移动()个元素 A. n-i-1 B. n-i+1 C. i D. n-i 6 【单选题】(1分) 线性表的顺序存储结构是一种()存储结构。 A. 索引存取 B. 顺序存取 C. 散列存取 D. 随机存取 7 【单选题】(1分) 在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是()。 A. p->next=q;p->next->prior=q;q->prior=p;q->next=p->next; B. p->next=q;q->prior=p;p->next->prior=q;q->next=q; C. q->next=p->next;q->prior=p;p->next=q;p->next=q; D. q->prior=p;q->next=p->next;p->next->prior=q;p->next=q; 8 【单选题】(1分) 在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是()。(答案中的i均为合法输入) A. 访问第i个元素的前驱 B. 在第i个元素之后插入一个新元素 C. 对顺序表中元素进行排序 D. 删除第i个元素 9 【单选题】(1分) 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。 A. q->next=s->next;s->next=p; B. s->next=p;q->next=s->next; C. p->next=s->next;s->next=q; D. s->next=q;p->next=s->next; 10 【单选题】(1分) 在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为()。 A. (n-1)/2 B. (n+1)/2 C. n/2 D. n 第三章测试 1 【单选题】(1分) 栈和队列的共同点是() A. 没有共同点 B. 都是先进先出 C. 都是先进后出 D. 只允许在端点处插入和删除元素 2 【单选题】(1分) 一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是() A. edcba B. abcde C. decba D. dceab 3 【单选题】(1分) 设计一个判别表达式中括号是否配对的算法,采用()数据结构最佳。 A. 栈 B. 顺序表 C. 队列 D. 链表 4 【单选题】(1分) 若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0,3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。 A. 5和1 B. 4和2 C. 1和5 D. 2和4 5 【单选题】(1分) 循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是() A. rear-front+1 B. rear-front C. (rear-front+m)%m D. rear-front-1 6