考研数据结构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、线性表的链式存储结构与顺序(连续)存储结构相比优点是( )。
A、便于插入和删除
B、便于随机存取
C、所有的操作/运算的算法简单
D、便于查找
3、如果某应用在线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A、仅有头指针的单链表
B、仅有头指针的单循环链表
C、双链表
D、仅有尾指针的单循环链表
4、在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是( )。
A、直接插入排序
B、希尔(ShelI)排序
C、简单选择排序
D、冒泡排序
5、对包含n个元素的散列表进行查找,平均查找长度( )。
A、为O(log2n)
B、为O(n)
C、不直接依赖于n
D、O(nlog2n)
1、试题答案:D
试题解析:
第一个for循环内的语句执行m次,时间复杂度是O(m),双层for循环内的语句执行m*n次,时间复杂度为O(m*n),故本题选D。
2、试题答案:A
试题解析:
对于A,链式存储结构插入和删除不需要移动元素,仅需要修改指针,其操作的时间复杂度为O(1),而顺序存储结构插入和删除均需要移动元素,其操作的时间复杂度为O(n)。对于B,链式存储结构不是随机存取结构而顺序表是随机存取结构,因此B错误;对于C和D,对于已知下标的查找,链表的查找操作需要从头开始,时间复杂度为O(n),而顺序表可以通过下标直接访问,时间复杂度为O(1),因此C和D错误,故本题选A。
3、试题答案:D
试题解析:
对于仅有头指针的单链表而言,在结尾插入元素的时间复杂度为O(n),删除首元素的时间复杂度为O(1);对于仅有头指针的单循环链表,在结尾处插入元素的时间复杂度为O(n),删除首元素的时间复杂度为O(1);对于双向链表而言,在结尾插入元素的时间复杂度为O(n),删除首元素的时间复杂度为O(1);对于仅有尾指针的单循环链表,在结尾插入元素的时间复杂度为O(1),删除首元素的时间复杂度为O(1)。故本题选D。
4、试题答案:C
试题解析:
对于A,若初始序列完全有序,则关键字的比较次数为n-1,若无序,则比较次数>n-1,因此A错误;
对于B,希尔排序的关键字比较次数也会受到初始排列次数的影响,因此B错误;
对于C,简单选择排序通过n-i次关键字间的比较,从n-i+1个记录中选择出关键字最小的记录,并和第i个记录交换,选择排序的比较次数为 n*(n-1)/2,关键字的比较次数与关键字的初始状态无关,因此C正确。
对于D,冒泡排序若初始序列有序则仅需要进行一趟冒泡排序,比较次数为n-1,若初始序列无序,则比较次数>n-1,因此D错误。故本题选C。
5、试题答案:C
试题解析:
根据设定的哈希函数H(key)和处理冲突的方法将一组关键字映像到一个有限的连续的地址集上,并以关键字在地址中的像作为记录在表中的存储位置,这种表称为散列表,这一映像过程称为散列表的构造,所得的存储位置称为哈希地址或散列地址。因此散列表的查找长度与哈希函数的选择和冲突方法的选择有关,并不直接依赖于n,故本题选C。
点击查看【完整】试卷>>

