数据结构导论自考模拟试题及答案解析4文档格式.docx
- 文档编号:16811532
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:20
- 大小:21.42KB
数据结构导论自考模拟试题及答案解析4文档格式.docx
《数据结构导论自考模拟试题及答案解析4文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构导论自考模拟试题及答案解析4文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
B.n+1条边
C.n-1条边
D.n/2条边
(5/15)单项选择题
第5题
从v1出发,对下图按广度优先搜索遍历,则可能得到的一种顶点序列为( )
图片
A.v1v2v3v5v4v6
B.v1v2v3v5v6v4
C.v1v5v2v3v6v4
D.v1v3v6v4v5v2
(6/15)单项选择题
第6题
设图G采用邻接表存储,则拓扑排序算法的时间复杂度为( )
A.O(n)
B.O(n+e)
C.O(n2)
D.O(n*e)
(7/15)单项选择题
第7题
设顺序表的长度为n,则其每个元素的平均查找长度是( )
A.n
B.(n-1)/2
C.n/2
D.(n+1)/2
(8/15)单项选择题
第8题
对一棵二叉排序树采用中序遍历进行输出的数据一定是( )
A.递增或递减序列
B.递减序列
C.无序序列
D.递增序列
(9/15)单项选择题
第9题
二分查找算法要求被查找的表是( )
A.键值有序的链表
B.键值不一定有序的链表
C.键值有序的顺序表
D.键值不一定有序的顺序表
(10/15)单项选择题
第10题
适用于静态查找表的方法为( )
A.二分查找、二叉排序树查找
B.二分查找、索引顺序表查找
C.二叉排序树查找、索引顺序表查找
D.二叉排序树查找、散列法查找
(11/15)单项选择题
第11题
排序中关键字比较次数与序列的原始状态有关的排序方法是( )
A.插入排序法
B.希尔排序法
C.直接选择排序法
D.堆排序法
(12/15)单项选择题
第12题
下面给出的四种排序法中,属于不稳定的排序法的是( )
B.冒泡排序法
C.二路归并排序法
(13/15)单项选择题
第13题
若用冒泡排序法对序列18,14,6,27,8,12,16,52,10,26,47,29,41,24从小到大进行排序,需要进行比较的次数是( )
A.33
B.45
C.70
D.91
(14/15)单项选择题
第14题
直接插入序列在最好情况下时间复杂度为( )
A.O(log2n)
B.O(n)
C.O(n*log2n)
D.O(n2)
(15/15)单项选择题
第15题
一组记录的关键字为{45,80,55,40,42,85),则利用堆排序的方法建立的初始堆为( )
A.80,45,55,40,42,85
B.40,42,55,80,45,85
C.40,42,45,55,80,85
D.85,55,80,42,45,40
(1/13)填空题
第16题
在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要________条弧。
(2/13)填空题
第17题
在无向图的邻接矩阵A中,若A[i,j]等于1,则A[j,i]等于______。
(3/13)填空题
第18题
含n个顶点的连通图中的任意一条简单路径,其长度不可能超过______。
(4/13)填空题
第19题
有向图G用邻接矩阵A[1..n,1..n]存储,其第i列的所有元素之和等于顶点vi的______。
(5/13)填空题
第20题
对含有n个结点,e条边的无向连通图,利用Prim算法生成最小生成树的时间复杂度为______。
(6/13)填空题
第21题
用来标识数据元素的数据项称为______。
(7/13)填空题
第22题
对于具有n个元素的数据序列,若采用二分查找法,当n的值较大时其平均查找长度为______。
(8/13)填空题
第23题
在索引顺序表上的查找分两个阶段:
一是______,二是在块内查找待查的元素。
(9/13)填空题
第24题
直接插入排序需要______个记录的辅助空间。
(10/13)填空题
第25题
在插入和选择排序中,若初始数据基本正序,则选用______排序。
(11/13)填空题
第26题
归并排序要求待排序列由若干个______的子序列组成。
(12/13)填空题
第27题
对n个记录的集合进行快速排序,其最坏情况下所需的时间复杂度是______。
(13/13)填空题
第28题
排序通常可分为内部排序和外部排序,其中内部排序是指排序的整个过程中,数据全部存放在计算机的______中。
(1/5)应用题
第29题
已知无向图G的邻接矩阵如图所示,假设对其每行元素访问时必须从右到左,请写出从v0开始的深度优先搜索的序列。
(2/5)应用题
第30题
求下图的最小生成树。
(3/5)应用题
第31题
用二分查找法对一个长度为10的有序表进行查找,填写查找每一元素需要的比较次数。
元素下标:
12345678910
比较次数:
(4/5)应用题
第32题
对于下列一组关键字(46,58,15,45,90,18,10,62),试写出快速排序每一趟的排序结果,并标出第一趟中各元素的移动方向。
(5/5)应用题
第33题
有一组初始的无序序列为(98,65,38,40,12,51,100,77,26,88),给出对其进行二路归并排序(升序)的每一趟的结果。
(1/2)算法设计题
第34题
试写出从大到小输出二叉排序树中所有不小于x的元素的算法。
(2/2)算法设计题
第35题
设计一个用链表表示的直接选择排序算法。
上一题交卷
交卷
答题卡
答案及解析
参考答案:
C您的答案:
未作答
答案解析:
D您的答案:
本题主要考查的知识点是广度优先搜索。
连通图广度优先搜索的基本思想是:
从图中某个顶点vi出发,在访问了vi之后依次访问vi的所有邻接点,然后分别从这些邻接点出发按广度优先搜索遍历图的其他顶点,重复这一过程,直至所有顶点都被访问到。
类似于二叉树按层次(同一层从左到右)遍历的算法。
本题主要考查的知识点是无向图中顶点的度数。
无向图中顶点的度数就是与该顶点相关联的边的数目。
B您的答案:
本题主要考查的知识点是广度优先搜索遍历。
从图中某个顶点vi出发,在访问了vi之后依次访问vi的所有邻接点,然后依次从这些邻接点出发按广度优先搜索方法遍历图的其他顶点,重复这一过程,直至所有顶点都被访问到。
结合图形,本题答案应选B。
主要考查的知识点是二叉排序树。
二叉排序树的组织结构能够反映其中数据元素在键值上的次序关系:
任一结点的键值大于其左孩子(及其子孙)的键值且小于其右孩子(及其子孙)的键值。
二叉排序树的这一基本特点可以更严格地表述为二叉排序树的下述重要性质:
中序遍历一棵二叉排序树所得的结点访问序列是键值的递增序列。
本题主要考查的知识点是二分查找算法对被查找表的要求。
相比顺序查找而言,二分查找要求表元素是排好序的。
当采用的存储结构不是顺序表,或者顺序表中元素未按键值的次序(递增或递减)排列时,则不能进行二分查找。
A您的答案:
本题主要考查的知识点是插入排序法。
在关键字基本有序的情况下,插入排序每趟的关键字比较次数为1次,总共进行n-1次比较,而在初始关键字无序的情况下,最坏的时候,其关键字的比较的总次数为n(n-1)/2次。
而选项中的其他三种排序方法中关键字的比较次数,都与初始状态无关。
本题主要考查的知识点是堆排序法。
所谓排序的稳定性,是指待排序序列中相同关键字在排序前后其相对位置不会改变。
在所给选项中。
只有堆排序是不稳定的。
本题主要考查的知识点是冒泡排序法。
冒泡排序法总的比较次数为n(n-1)/2次,n为待排序列元素个数。
n
详细解答:
1
n-1
入度
O(n2)
关键字
log2(n+1)-1
确定待查数据元素所在的块
一
插入
有序
内存
v0v2v4v3v1
最小生成树如图所示:
元素下标:
比较次数如下:
第一趟:
[46,58,15,45,90,18,10,62]
以上“○”表示当前经比较不交换位置的元素。
“□”表示当前经比较交换位置的元索。
第一趟:
[10181545]46[905862]
第二趟:
10[181545]46[6258]90
第三趟:
10[15]18[45]46[58]6290
结果:
1015184546586290
初始无序序列:
986538401251100772688
[98][65][38][40][12][51][100][77][26][88]
第一次归并:
[6598][3840][1251][77100][2688]
第二次归并:
[38406598][125177100][2688]
第三次归并:
[12384051657798100][2688]
第四次归并:
[122638405165778898100]
算法描述如下:
voidPrint_NLT(BinTreeT,intx)
//从大到小输出二叉排序树T中所有不小于x
//的元素
{
if(T!
=NULL)
Print_NLT(T-〉rchild,x);
//先对右子树进行递归遍历
if(T-〉data〉=x)
printf("
%d\n"
T-〉data);
//当遇到大于等于x的元素时,则输出x
print_NLT(T-〉lchild,x);
//后对左子树进行递归遍历
}
每趟从单链表头部开始,顺序查找当前链值最小的结点。
找到后,插入到当前的有序表区的最后。
voidselectsort(LinkListL)
//设链表L带头结点
{LinkListp,q,min;
q=L;
//指向头结点
while(q-〉next!
{min=q-〉next;
//min指向当前已知的最小数
p=q-〉next;
while(P!
{if(p-〉data〈min-〉data)
min=P;
//找到了更小数
P=p-〉next;
//继续往下找
if(min!
=q-〉next)
{DataTypet=min-〉data;
min-〉data=q-〉next-〉data;
//将最小数交换到第一个位置上
q-〉next-〉data=t;
q=q〉next;
//选择下一个最小数
上一题
成绩单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 导论 自考 模拟 试题 答案 解析
![提示](https://static.bdocx.com/images/bang_tan.gif)