资源描述:
《数据结构与算法c++版_模拟试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、模拟试题(一)一、单项选择题(每小题2分,共20分)(1)以下数据结构中哪一个是线性结构?( )A)有向图 B)队列C)线索二叉树 D)B树(2)在一个单链表la中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。A)p=q;p->next=q;B)p->next=q;q->next=p;C)p->next=q->next;p=q;D)q->next=p->next;p->next=q;(3)( )不是队列的基本运算。A)在队列第i个元素之后插入一个
2、元素B)从队头删除一个元素C)判断一个队列是否为空D)读取队头元素的值(4)字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串。A)14B)5 C)6 D)8(5)由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。A)11B)35C)19D)53以下6-8题基于下图:(6)该二叉树结点的前序遍历的序列为( )。A)E、G、F、A、C、D、BB)E、A、G、C、F、B、DC)E、A、C、B、D、G、FD)E、G、A
3、、C、D、F、B(7)该二叉树结点的中序遍历的序列为( )。A)A、B、C、D、E、G、FB)E、A、G、C、F、B、DC)E、A、C、B、D、G、FD)B、D、C、A、F、G、E(8)该二叉树的按层遍历的序列为( )。A)E、G、F、A、C、D、BB)E、A、C、B、D、G、FC)E、A、G、C、F、B、DD)E、G、A、C、D、F、B(9)下面关于图的存储的叙述中正确的是( )。A)用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B)用邻接表法存储图,占用的存储
4、空间大小与图中边数和结点个数都有关 C)用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D)用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关(10)设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A)a,g,h,m,n,p,q,x,zB)a,g,m,h,q,n,p,x,zC)g,m,q,a,n,p,x,h,zD)h,g,m,p,a,n,q,x,z二、(每小题4分,共
5、8分)已知一个6´5稀疏矩阵如下所示,试:(1)写出它的三元组线性表;(2)给出三元组线性表的顺序存储表示。三、(本题8分)求网的最小生成树有哪些算法?它们的时间复杂度分别下多少,各适用何种情况?四、(每小题4分,共8分)对于如下图所示的有向图若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,试写出:(1)从顶点v1出发进行深度优先搜索所得到的深度优先生成树;(2)从顶点v2出发进行广度优先搜索所得到的广度优先生成树。五、(本题8分)已知一个图的顶点集V和边集E分
6、别为:V={1,2,3,4,5,6,7};E={<2,1>,<3,2>,<3,6>,<4,3>,<4,5>,<4,6>,<5,1>,<5,7>,<6,1>,<6,2>,<6,5>};试画出此图的图形,给出所有可能的拓扑排序序列。六、(本题8分)对于序列{8,18,6,16,29,28},试写出堆顶元素最小的初始堆。七、(本题8分)一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。先序序列:BFICEHG 中序序
7、列:DKFIAEJC后序序列:KFBHJGA八、(每小题2分,共8分)设有序列:w={23,24,27,80,28},试给出:(1)二叉排序树;(2)哈夫曼树;(3)平衡二叉树;(4)对于增量d=2按降序执行一遍希尔排序的结果。九、(本题9分)有关键字序列{7,23,6,9,17,19,21,22,5},Hash函数为H(key)=key%5,采用链地址法处理冲突,试构造哈希表。十、(本题15分)假设二叉树中每个结点所含数据元素均为单字母,以二叉链表为存储结构,试编写算法按如下图所示的树状显示二叉树
8、。模拟试题(一)参考答案一、单项选择题(1)B(2)D(3)A(4)B(5)B(6)C(7)A(8)C(9)B(10)B二、(每小题4分,共8分)(1)((1,5,1),(3,2,-1),(4,5,-2),(5,1,5),(6,3,7))(2)三元组线性表的顺序存储表示如下所示:三、(本题8分)求网的最小生成树可使用Prim算法,时间复杂度为O(n2),此算法适用于边较多的稠密图,也可使用Kruskal算法,时间复杂度为O(eloge),此算法适用于边较少的稀疏图。四