数据结构本科.docx
- 文档编号:26348008
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:47
- 大小:27.68KB
数据结构本科.docx
《数据结构本科.docx》由会员分享,可在线阅读,更多相关《数据结构本科.docx(47页珍藏版)》请在冰豆网上搜索。
数据结构本科
一、判断(共计40分,每题2.5分)
1、对连通图进行深度优先遍历可以访问到该图中的所有顶点。
()
A.正确
B.错误
错误:
【A】
2、非空的双向循环链表中任何结点的前驱指针均不为空。
()
A.正确
B.错误
错误:
【A】
3、先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。
()
A.正确
B.错误
错误:
【A】
4、向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度。
()
A.正确
B.错误
错误:
【B】
5、不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(n)。
()
A.正确
B.错误
错误:
【A】
6、线性表的顺序存储结构比链式存储结构更好。
()
A.正确
B.错误
错误:
【B】
7、冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。
()
A.正确
B.错误
错误:
【A】
8、设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。
()
A.正确
B.错误
错误:
【B】
9、调用一次深度优先遍历可以访问到图中的所有顶点。
()
A.正确
B.错误
错误:
【B】
10、子串“ABC”在主串“AABCABCD”中的位置为2。
()
A.正确
B.错误
错误:
【A】
11、设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlog2n)。
()
A.正确
B.错误
错误:
【B】
12、线性表中的所有元素都有一个前驱元素和后继元素。
()
A.正确
B.错误
错误:
【B】
13、满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
()
A.正确
B.错误
错误:
【A】
14、快速排序是排序算法中平均性能最好的一种排序。
()
A.正确
B.错误
错误:
【A】
15、分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
()
A.正确
B.错误
错误:
【A】
16、层次遍历初始堆可以得到一个有序的序列。
()
A.正确
B.错误
错误:
【B】
二、单选(共计60分,每题2.5分)
17、设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。
A.99
B.100
C.101
D.102
错误:
【B】
18、树最适合用来表示()。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
错误:
【C】
19、顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。
A.O(n)
B.O(n2)
C.O(n1/2)
D.O(1og2n)
错误:
【A】
20、下列四种排序中()的空间复杂度最大。
A.插入排序
B.冒泡排序
C.堆排序
D.归并排序
错误:
【D】
21、深度为k的完全二叉树中最少有()个结点。
A.2k-1-1
B.2k-1
C.2k-1+1
D.2k-1
错误:
【B】
22、设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为()。
A.5,3,4,6,1,2
B.3,2,5,6,4,1
C.3,1,2,5,4,6
D.1,5,4,6,2,3
错误:
【B】
23、二叉树的第k层的结点数最多为()。
A.2k-1
B.2K+1
C.2K-1
D.2k-1
错误:
【D】
24、设二叉排序树中有n个结点,则在二叉排序树的平均查找长度为()。
A.O
(1)
B.O(log2n)
C.O(nlog2n)
D.O(n2)
错误:
【B】
25、设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到HASH表中需要做()次线性探测。
A.n2
B.n(n+1)
C.n(n+1)/2
D.
n(n-1)/2
错误:
【D】
26、设某完全无向图中有n个顶点,则该完全无向图中有()条边。
A.n(n-1)/2
B.n(n-1)
C.n2
D.n2-1
错误:
【A】
27、设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。
A.head==0
B.head->next==0
C.head->next==head
D.head!
=0
错误:
【A】
28、设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为()。
A.15,25,35,50,20,40,80,85,36,70
B.15,25,35,50,80,20,85,40,70,36
C.15,25,35,50,80,85,20,36,40,70
D.15,25,35,50,80,20,36,40,70,85
错误:
【A】
29、在二叉排序树中插入一个结点的时间复杂度为()。
A.O
(1)
B.O(n)
C.O(log2n)
D.O(n2)
错误:
【C】
30、数据的最小单位是()。
A.数据项
B.数据类型
C.数据元素
D.数据变量
错误:
【A】
31、设某散列表的长度为100,散列函数H(k)=k%P,则P通常情况下最好选择()。
A.99
B.97
C.91
D.93
错误:
【B】
32、设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。
A.n-i
B.n-1-i
C.n+1-i
D.
不能确定
错误:
【C】
33、用链接方式存储的队列,在进行插入运算时()
A.仅修改头指针
B.头、尾指针都要修改
C.仅修改尾指针
D.头、尾指针可能都要修改
错误:
【D】
34、设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。
A.top=top+1;
B.top=top-1;
C.top->next=top;
D.top=top->next;
错误:
【D】
35、在一个单链表中,若P所指节点不是最后节点,在P之后插入S所指节点,则执行
A.Sànext=Pànext;Pànext=S;
B.Pànext=Sànext;Sànext=P;
C.Sànext=P;Pànext=S;
D.Pànext=S;Sànext=P;
错误:
【A】
36、下列排序算法中时间复杂度不受数据初始状态影响,恒为O(n2)的是
A.堆排序
B.冒泡排序
C.直接选择排序
D.快速排序
错误:
【C】
37、若线性表最常用的操作是存取第i个元素的值,则采用_______存储方式节省时间。
A.单链表
B.双链表
C.单循环链表
D.顺序表
错误:
【D】
38、设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。
A.25
B.10
C.7
D.1
错误:
【B】
39、设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为()。
A.O(n)
B.O(n2)
C.O(nlog2n)
D.O(1og2n)
错误:
【D】
40、设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列()存储方式最节省运算时间。
A.单向链表
B.单向循环链表
C.双向链表
D.双向循环链表
错误:
【D】
一、判断(共计40分,每题2.5分)
1、对连通图进行深度优先遍历可以访问到该图中的所有顶点。
()
A.正确
B.错误
错误:
【A】
2、先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。
()
A.正确
B.错误
错误:
【A】
3、不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(n)。
()
A.正确
B.错误
错误:
【A】
4、层次遍历初始堆可以得到一个有序的序列。
()
A.正确
B.错误
错误:
【B】
5、满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
()
A.正确
B.错误
错误:
【A】
6、线性表中的所有元素都有一个前驱元素和后继元素。
()
A.正确
B.错误
错误:
【B】
7、设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlog2n)。
()
A.正确
B.错误
错误:
【B】
8、子串“ABC”在主串“AABCABCD”中的位置为2。
()
A.正确
B.错误
错误:
【A】
9、线性表的顺序存储结构比链式存储结构更好。
()
A.正确
B.错误
错误:
【B】
10、调用一次深度优先遍历可以访问到图中的所有顶点。
()
A.正确
B.错误
错误:
【B】
11、快速排序是排序算法中平均性能最好的一种排序。
()
A.正确
B.错误
错误:
【A】
12、设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。
()
A.正确
B.错误
错误:
【B】
13、冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。
()
A.正确
B.错误
错误:
【A】
14、非空的双向循环链表中任何结点的前驱指针均不为空。
()
A.正确
B.错误
错误:
【A】
15、向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度。
()
A.正确
B.错误
错误:
【B】
16、分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
()
A.正确
B.错误
错误:
【A】
二、单选(共计60分,每题2.5分)
17、设某散列表的长度为100,散列函数H(k)=k%P,则P通常情况下最好选择()。
A.99
B.97
C.91
D.93
错误:
【B】
18、下列四种排序中()的空间复杂度最大。
A.插入排序
B.冒泡排序
C.堆排序
D.归并排序
错误:
【D】
19、函数substr(“DATASTRUCTURE”,5,9)的返回值为()。
A.“STRUCTURE”
B.“DATA”
C.“ASTRUCTUR”
D.“DATASTRUCTURE”
错误:
【A】
20、设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.5
B.6
C.7
D.8
错误:
【A】
21、在一个单链表中,若P所指节点不是最后节点,在P之后插入S所指节点,则执行
A.Sànext=Pànext;Pànext=S;
B.Pànext=Sànext;Sànext=P;
C.Sànext=P;Pànext=S;
D.Pànext=S;Sànext=P;
错误:
【A】
22、下面程序的时间复杂度为()for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}
A.O(n)
B.O(n2)
C.O(n3)
D.O(n4)
错误:
【B】
23、设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列()存储方式最节省运算时间。
A.单向链表
B.单向循环链表
C.双向链表
D.双向循环链表
错误:
【D】
24、设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是()。
A.线性结构
B.树型结构
C.物理结构
D.图型结构
错误:
【B】
25、设二叉排序树中有n个结点,则在二叉排序树的平均查找长度为()。
A.O
(1)
B.O(log2n)
C.O(nlog2n)
D.O(n2)
错误:
【B】
26、深度为k的完全二叉树中最少有()个结点。
A.2k-1-1
B.2k-1
C.2k-1+1
D.2k-1
错误:
【B】
27、二叉树的第k层的结点数最多为()。
A.2k-1
B.2K+1
C.2K-1
D.2k-1
错误:
【D】
28、某二叉树的后序遍历序列为DABEC、中序遍历序列为DEBAC,则前序遍历为
A.ACBED
B.DECAB
C.DEABC
D.CEDBA
错误:
【D】
29、设顺序表的长度为n,则顺序查找的平均比较次数为()。
A.n
B.n/2
C.(n+1)/2
D.(n-1)/2
错误:
【C】
30、对n个记录的文件进行快速排序,所需要的辅助存储空间大致为()
A.O
(1)
B.O(n)
C.O(1og2n)
D.O(n2)
错误:
【C】
31、设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。
A.25
B.10
C.7
D.1
错误:
【B】
32、设散列表中有m个存储单元,散列函数H(key)=key%p,则p最好选择()。
A.小于等于m的最大奇数
B.小于等于m的最大素数
C.小于等于m的最大偶数
D.小于等于m的最大合数
错误:
【B】
33、图G的某一最小生成树的代价一定小于其他生成树的代价
A.一定是
B.肯定不是
C.不一定是
D.都不对
错误:
【C】
34、设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。
A.s->next=p->next;p->next=-s
B.q->next=s;s->next=p
C.p->next=s->next;s->next=p
D.p->next=s;s->next=q
错误:
【B】
35、设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。
A.head==0
B.head->next==0
C.head->next==head
D.head!
=0
错误:
【A】
36、设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为()。
A.O(n+e)
B.O(n2)
C.O(ne)
D.O(n3)
错误:
【A】
37、设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到HASH表中需要做()次线性探测。
A.n2
B.n(n+1)
C.n(n+1)/2
D.
n(n-1)/2
错误:
【D】
38、在二叉排序树中插入一个关键字值的平均时间复杂度为()。
A.O(n)
B.O(1og2n)
C.O(nlog2n)
D.O(n2)
错误:
【B】
39、设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。
A.n-i
B.n-1-i
C.n+1-i
D.
不能确定
错误:
【C】
40、在二叉排序树中插入一个结点的时间复杂度为()。
A.O
(1)
B.O(n)
C.O(log2n)
D.O(n2)
错误:
【C】
一、判断(共计40分,每题2.5分)
1、对连通图进行深度优先遍历可以访问到该图中的所有顶点。
()
A.正确
B.错误
错误:
【A】
2、向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度。
()
A.正确
B.错误
错误:
【B】
3、调用一次深度优先遍历可以访问到图中的所有顶点。
()
A.正确
B.错误
错误:
【B】
4、不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(n)。
()
A.正确
B.错误
错误:
【A】
5、快速排序是排序算法中平均性能最好的一种排序。
()
A.正确
B.错误
错误:
【A】
6、线性表的顺序存储结构比链式存储结构更好。
()
A.正确
B.错误
错误:
【B】
7、先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。
()
A.正确
B.错误
错误:
【A】
8、分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
()
A.正确
B.错误
错误:
【A】
9、满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
()
A.正确
B.错误
错误:
【A】
10、设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlog2n)。
()
A.正确
B.错误
错误:
【B】
11、子串“ABC”在主串“AABCABCD”中的位置为2。
()
A.正确
B.错误
错误:
【A】
12、非空的双向循环链表中任何结点的前驱指针均不为空。
()
A.正确
B.错误
错误:
【A】
13、设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。
()
A.正确
B.错误
错误:
【B】
14、冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。
()
A.正确
B.错误
错误:
【A】
15、线性表中的所有元素都有一个前驱元素和后继元素。
()
A.正确
B.错误
错误:
【B】
16、层次遍历初始堆可以得到一个有序的序列。
()
A.正确
B.错误
错误:
【B】
二、单选(共计60分,每题2.5分)
17、下列四种排序中()的空间复杂度最大。
A.插入排序
B.冒泡排序
C.堆排序
D.归并排序
错误:
【D】
18、设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为()。
A.O(n)
B.O(n2)
C.O(nlog2n)
D.O(1og2n)
错误:
【D】
19、设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.5
B.6
C.7
D.8
错误:
【A】
20、在二叉排序树中插入一个关键字值的平均时间复杂度为()。
A.O(n)
B.O(1og2n)
C.O(nlog2n)
D.O(n2)
错误:
【B】
21、下列排序算法中时间复杂度不受数据初始状态影响,恒为O(n2)的是
A.堆排序
B.冒泡排序
C.直接选择排序
D.快速排序
错误:
【C】
22、设二叉排序树中有n个结点,则在二叉排序树的平均查找长度为()。
A.O
(1)
B.O(log2n)
C.O(nlog2n)
D.O(n2)
错误:
【B】
23、设一棵完全二叉树中有65个结点,则该完全二叉树的深度为()。
A.8
B.7
C.6
D.
5
错误:
【B】
24、设某无向图有n个顶点,则该无向图的邻接表中有()个表头结点。
A.2n
B.n
C.n/2
D.n(n-1)
错误:
【B】
25、设顺序表的长度为n,则顺序查找的平均比较次数为()。
A.n
B.n/2
C.(n+1)/2
D.(n-1)/2
错误:
【C】
26、下列各种排序算法中平均时间复杂度为O(n2)是()。
A.快速排序
B.堆排序
C.归并排序
D.冒泡排序
错误:
【D】
27、在一个单链表中,若P所指节点不是最后节点,在P之后插入S所指节点,则执行
A.Sànext=Pànext;Pànext=S;
B.Pànext=Sànext;Sànext=P;
C.Sànext=P;Pànext=S;
D.Pànext=S;Sànext=P;
错误:
【A】
28、设一棵二叉树的深度为k,则该二叉树中最多有()个结点。
A.2k-1
B.2k
C.2k-1
D.2k-1
错误:
【D】
29、设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列()方法可以达到此目的。
A.快速排序
B.堆排序
C.归并排序
D.插入排序
错误:
【B】
30、设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N0=()。
A.Nl+N2+……+Nm
B.l+N2+2N3+3N4+……+(m-1)Nm
C.N2+2N3+3N4+……+(m-1)Nm
D.2Nl+3N2+……+(m+1)Nm
错误:
【B】
31、某二叉树的后序遍历序列为DABEC、中序遍历序列为DEBAC,则前序遍历为
A.ACBED
B.DECAB
C.DEABC
D.CEDBA
错误:
【D】
32、设某完全无向图中有n个顶点,则该完全无向图中有()条边。
A.n(n-1)/2
B.n(n-1)
C.n2
D.n2-1
错误:
【A】
33、设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到HASH表中需要做()次线性探测。
A.n2
B.n(n+1)
C.n(n+1)/2
D.
n(n-1)/2
错误:
【D】
34、下面程序的时间复杂度为()for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}
A.O(n)
B.O(n2)
C.O(n3)
D.O(n4)
错误:
【B】
35、设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。
A.n-i
B.n-1-i
C.n+1-i
D.
不能确定
错误:
【C】
36、利用直接插入排序法的思想建立一个有序线性表的时间复杂度为()。
A.O(n)
B.O(nlog2n)
C.O(n2)
D.O(1og2n)
错误:
【C】
37、设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。
A.q=p->next;p->data=q->data;p->next=q->next;free(q);
B.q=p->next;q->data=p->data;p->next=q->next;free(q);
C.q=p->next;p->next=q->next;free(q);
D.q=p->next;p->data=q->data;free(q);
错误:
【A】
38、设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为()。
A.O(n+e)
B.O(n2)
C.O(ne)
D.O(n3)
错误:
【A】
39、设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列()存储方式最节省运算时间。
A.单向链表
B.单向循环链表
C.双向链表
D.双向循环链表
错误:
【D】
40、算法必须具备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 本科
![提示](https://static.bdocx.com/images/bang_tan.gif)