考研数据结构B在线题库每日一练(六十六)
以下是希赛网给大家分享考研数据结构B在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研数据结构B在线题库每日一练,以下为具体内容
1、下面程序段的时间复杂度是( )。for(i=0;i<m;i++) A[i]=0;for(i=0;i<m;i++) for(j=1;j<n;j++) A[i]+=5;
A、O(m+n)
B、O(m+n+1)
C、O(n)
D、O(m*n)
2、若某栈的输入序列为1,2,3,…,n,输出序列的第2个元素为n,则第3个输出元素为( )。
A、1或2
B、1或n-1
C、n-1或n-2
D、n-1
3、线性表的链式存储结构与顺序(连续)存储结构相比优点是( )。
A、便于插入和删除
B、便于随机存取
C、所有的操作/运算的算法简单
D、便于查找
4、在长度为n且带头结点的链式存储实现的线性表的第i(0≤i≤n)个位置插入一个元素,需要查找运算( )次。
A、1
B、n-i
C、i
D、n-2
5、在长度为n顺序实现的线性表的第i(1≤i≤n)个位置之前插入一个元素,需要后移( )个元素。
A、i
B、n-i+1
C、n
D、1
1、试题答案:D
试题解析:
第一个for循环内的语句执行m次,时间复杂度是O(m),双层for循环内的语句执行m*n次,时间复杂度为O(m*n),故本题选D。
2、试题答案:C
试题解析:
栈具有“后进先出”的特性,若第二个输出序列为n,则栈的基本操作有以下两种:
① push(1) …pop(?)…push(n-1) push(n) pop(n) pop(n-1)…;
② push(1)…push(n-2) push(n-1) pop(n-1) push(n) pop(n) pop(n-2)…。
根据上述两种情况分析,可以得出第3个输出序列或者为n-1或者为n-2,故本题选C。
3、试题答案:A
试题解析:
对于A,链式存储结构插入和删除不需要移动元素,仅需要修改指针,其操作的时间复杂度为O(1),而顺序存储结构插入和删除均需要移动元素,其操作的时间复杂度为O(n)。对于B,链式存储结构不是随机存取结构而顺序表是随机存取结构,因此B错误;对于C和D,对于已知下标的查找,链表的查找操作需要从头开始,时间复杂度为O(n),而顺序表可以通过下标直接访问,时间复杂度为O(1),因此C和D错误,故本题选A。
4、试题答案:C
试题解析:
链式存储结构不是随机存取结构,因此在本题中查找第i个位置的元素需要从链表的头开始遍历查找链表,查找到第i个链表需要查找运算i次,故本题选C。
5、试题答案:B
试题解析:
对于顺序表的插入操作,若要在第i个位置之前插入一个元素,则需要将第i个位置到第n个位置的元素向后移动1个元素,需要后移的元素个数为n-i+1,故本题选B。
点击查看【完整】试卷>>

