第一章 单元测试
1、单选题:从一个二维数组b[m][n]中找出最大值元素的时间复杂度为
A:m+n
B:m*n
C:m
D:n
正确答案:【m*n】
2、单选题:在以下时间复杂度的数量级中,数量级最大的是
A:
B:
C:
D:
正确答案:【
】
3、单选题:下面程序段的时间复杂度为____________。for(int i=0; i<m; i++) for(int j=0; j<n; j++) a[i][j]=i*j;
A:O(m*n)
B:O(m+n)
C:O(n2)
D:O(m2)
正确答案:【O(m*n)】
4、单选题:执行下面程序段时,执行S语句的次数为( )。for(int i=1; i<=n; i++) for(int j=1; j<=i; j++) S;
A:n(n+1)/2
B:n2
C:n(n+1)
D:n2/2
正确答案:【n(n+1)/2】
5、单选题:线性结构是数据元素之间存在一种:( )。
A:多对一关系
B:一对一关系
C:一对多关系
D:多对多关系
正确答案:【一对一关系】
6、单选题:数据结构中,与所使用的计算机无关的是数据的( )结构。
A:逻辑
B:物理
C:存储
D:物理和存储
正确答案:【逻辑】
7、单选题:算法分析的目的是:( )。
A:找出数据结构的合理性
B:分析算法的易懂性和文档性
C:分析算法的效率以求改进
D:研究算法中的输入和输出的关系
正确答案:【分析算法的效率以求改进】
8、单选题:算法分析的两个主要方面是:( )。
A:可读性和文档性
B:正确性和简明性
C:空间复杂性和时间复杂性
D:数据复杂性和程序复杂性
正确答案:【空间复杂性和时间复杂性】
9、单选题:计算机算法指的是:( )。
A:调度方法
B:解决问题的有限运算序列
C:计算方法
D:排序方法
正确答案:【解决问题的有限运算序列】
10、单选题:计算机算法必须具备输入、输出和( )等5个特性。
A:可行性、确定性和有穷性
B:易读性、稳定性和安全性
C:确定性、有穷性和稳定性
D:可行性、可移植性和可扩充性
正确答案:【可行性、确定性和有穷性】
11、判断题:一个算法的好坏可以通过复杂性、可读性、健壮性、高效性这四个方面进行评价。
A:错
B:对
正确答案:【错】
12、判断题:数据结构是一门研究算法的学科。
A:对
B:错
正确答案:【错】
13、判断题:数据结构中,数据的逻辑结构包括线性结构、图结构、树形结构、集合。
A:对
B:错
正确答案:【对】
14、判断题:线性表的逻辑顺序与存储顺序总是一致的。
A:错
B:对
正确答案:【错】
15、判断题:每种数据结构都具备三个基本运算:插入、删除和查找。
A:对
B:错
正确答案:【错】
16、判断题:线性结构中元素之间只存在多对多关系。
A:对
B:错
正确答案:【错】
17、判断题:在线性结构中,第一个结点没有前驱结点。
A:错
B:对
正确答案:【对】
18、判断题:在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。
A:对
B:错
正确答案:【对】
19、判断题:算法分析的目的是分析算法的效率以求改进。
A:错
B:对
正确答案:【对】
20、判断题:同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。
A:错
B:对
正确答案:【对】
第二章 单元测试
1、单选题:在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( )
A:在第i个结点后插入一个新结点(1≤i≤n)
B:访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
C:删除第i个结点(1≤i≤n)
D:将n个结点从小到大排序
正确答案:【访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)】
2、单选题:向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( )个元素。
A:63.5
B:63
C:8
D:7
正确答案:【63.5】
3、单选题:线性表若采用链式存储结构时,要求内存中可用存储单元的地址:( )
A:连续或不连续都可以
B:必须是连续的
C:一定是不连续的
D:部分地址必须是连续的
正确答案:【连续或不连续都可以】
4、单选题:若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用_______存储方式最节省时间。
A:带头节点的双循环链表
B:单循环链表
C:顺序表
D:双链表
正确答案:【顺序表】
5、单选题:在一个以h为头结点的单循环链表中,使指针p指向链尾结点的条件是( )。
A:p->next == h;
B:p->next ==NULL
C:p->next->next == h
D:p->next == h->next
正确答案:【p->next == h;】
6、单选题:链表是一种采用( )存储结构存储的线性表
A:网状
B:链式
C:顺序
D:星式
正确答案:【链式 】
7、单选题:单链表包括两个域:( )。
A:数据域和指针域
B:数据域和星式
C:链式和数字
D:数据域和表位
正确答案:【数据域和指针域】
8、单选题:单链表可以用( )来命名。
A:头指针的名字
B:L
C:结点名
D:K
正确答案:【头指针的名字】
9、单选题:单链表的插入操作其时间复杂度为( )。
A:O(n)
B:O(1)
C:O(n3)
D:O(n2)
正确答案:【O(n)】
10、单选题:顺序表的插入操作的时间复杂度为( )。
A:O(n)
B:O(n2)
C:O(1)
D:O(n3)
正确答案:【O(n)】
11、判断题:线性表的逻辑结构特性是一对多的。
A:错
B:对
正确答案:【错】
12、判断题:顺序表在进行插入和删除操作时不需要移动元素。
A:错
B:对
正确答案:【错】
13、判断题:对于链表是依靠指针来反映其线性逻辑关系的。
A:错
B:对
正确答案:【对】
14、判断题:在单链表的第一个结点之前是不允许附设结点的。
A:对
B:错
正确答案:【错】
15、判断题:在单链表中首元结点就是头结点。
A:对
B:错
正确答案:【错】
16、判断题:循环单链表的最大优点是从任一结点出发都可访问到链表中每一个元素。
A:对
B:错
正确答案:【对】
17、判断题:线性表采用链式存储,便于插入和删除操作。
A:对
B:错
正确答案:【对】
18、判断题:线性表采用顺序存储,必须占用一片连续的存储单元。
A:错
B:对
正确答案:【对】
19、判断题:单链表可以有多个指针域。
A:错
B:对
正确答案:【错】
20、判断题:顺序表的每个元素所占的存储单元是相等的。
A:错
B:对
正确答案:【对】
第三章 单元测试
1、单选题:栈的插入和删除操作在( )
A:栈顶
B:任意位置
C:栈底
D:指定位置
正确答案:【栈顶
】
2、单选题:五节车厢以编号a,b,c,d,e顺序进入铁路调度站(栈),可以得到( )的编组
A:b,d,a,c,e
B:c,e,d,b,a
C:c,d,e,a,b
D:a,c,e,b,d
正确答案:【c,e,d,b,a
】
3、单选题:判定一个顺序栈S(栈空间大小为n)为空的条件是( )
A:S->top!=n
B:S->top==0
C:S->top==n
D:S->top!=0
正确答案:【S->top==0
】
4、单选题:在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为( )
A:front=front->next
B:rear->next=s;rear=s;
C:s->next=rear;rear=s
D:s->next=front;front=s;
正确答案:【rear->next=s;rear=s;
】
5、单选题:一个队列的入队序列是1,2,3,4,则队列的出队序列是( )
A:3,4,1,2
B:4,3,2,1
C:1,4,3,2
D:1,2,3,4
正确答案:【4,3,2,1
】
6、单选题:依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是()
A:d
B:b
C:a
D:c
正确答案:【c】
7、判断题:栈是一种非线性结构。
A:对
B:错
正确答案:【错】
8、判断题:队列允许在一端进行插入,另一端进行删除操作。
A:对
B:错
正确答案:【对】
9、判断题:在程序设计语言中实现递归操作是用到栈实现的。
A:错
B:对
正确答案:【对】
10、判断题:递归程序在执行时是用队列来保存调用过程中的参数、局部变量和返回参数的。
A:错
B:对
正确答案:【错】
11、判断题:在表达式求值算法中运用到队列来实现的。
A:错
B:对
正确答案:【错】
12、判断题:队列假溢出问题的一个解决方法是运用循环队列。
A:错
B:对
正确答案:【对】
13、判断题:队列Q满的条件是:Q.front==Q.rear。
A:对
B:错
正确答案:【错】
14、判断题:每当在新队列中插入一个新元素时,尾指针rear增1。
A:对
B:错
正确答案:【对】
15、判断题:在顺序队列中,头指针始终指向队列的最后一个元素。
A:错
B:对
正确答案:【错】
16、判断题:在顺序队列中,尾指针始终指向队列尾元素的下一个位置。
如有任何疑问请及时联系QQ 50895809反馈