《2017年韩山师范学院本科插班生考试试题《数据结构》A卷(共8页).doc》由会员分享,可在线阅读,更多相关《2017年韩山师范学院本科插班生考试试题《数据结构》A卷(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上韩山师范学院2017年本科插班生考试试卷 计算机科学与技术 专业 数据结构 试卷(A卷)题号一二三四五六总分评卷人得分得分评卷人一、单项选择题(每题2分,共30分)1.对线性表,在下列哪种情况下应当采用链表表示?( B ) A. 经常需要随机地存取元素 B. 经常需要进行插入和删除操作 C. 表中元素需要占据一片连续的存储空间 D. 表中元素的个数不变2. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )。 A. 2 3 B. 3 2 1 C. 3 1 2D. 1 2 33程序段s=i=0;do i=i+1; s=s+i;while(ine
2、xt=0 C. head-next=head D. head!=013设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为( B )。A.第i行非0元素的个数之和B. 第i列非0元素的个数之和C.第i行0元素的个数之和 D. 第i列0元素的个数之和14设无向图G中有n个顶点,则该无向图的最小生成树上有(C )条边。A. 2nB. 2n-1C. n-1D. n15.由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( D ) A. 24 B. 48 C. 53 D. 71 得分评卷人二、填空题(每空2分,共20分)1数据的物理结构主要包括_顺序储存结构_和
3、_链式存储结构_两种情况。2.设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为_;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_个空指针域。3. 设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_n-i+1_个数据元素;删除第i个位置上的数据元素需要移动表中_n-i_个元素。4.设某无向图G的邻接表为,则从顶点V1开始的深度优先遍历序列为_V1V3V2V4_ _;广度优先遍历序列为_V1V3V2V4 _。5. 设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟直接插入排序结束后的结果的是_(12
4、, 24, 27, 35, 18, 26)_ _; 设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟简单选择排序结束后的结果的是_(12, 18, 24, 27, 35, 26)_。得分评卷人三、判断题(对的划,错的划。每小题1分,共10分)( )1线性表中的所有元素都有一个前驱元素和后继元素。 ( )2.不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。( )3对连通图进行深度优先遍历可以访问到该图中的所有顶点。( )4由树转化成二叉树,该二叉树的右子树不一定为空。( )5如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。( )6.
5、有向图的邻接表和逆邻接表中表结点的个数不一定相等。/首先要明确建立“逆邻接表”的作用是为了方便计算入度.有向图每条弧对应唯一的弧头和弧尾.“逆邻接表”只是把“邻接表”中弧头和弧尾的次序换了,并不是一种新表,它和“邻接表”的唯一区别就是弧尾的nextarc指针指向弧头而已.所以节点数是相等的.(参考数据结构教材164页)( )7不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(n)。( )8关键路径是AOE网中源点到汇点的最短路径。( )9图的深度优先遍历算法中需要设置一个标志数组,以便区分图中的每个顶点是否被访问过。( )10用邻接矩阵作为图的存储结构时,则其所占
6、用的存储空间与图中顶点数无关而与图中边数有关。得分评卷人四、程序填空题(每个空2分,共10分)1. 下面程序段的功能是实现一趟快速排序,请在下划线处填上正确的语句。 struct record int key;datatype others;void quickpass(struct record r, int s, int t, int &i) int j=t; struct record x=rs; i=s; while(ij)while (ix.key) j=j-1; if (ij) ri=rj;i=i+1; while (_) i=i+1; if (ij) rj=ri;j=j-1; _
7、;2. 如下为二分查找的非递归算法,试将其填写完整。Int Binsch(ElemType A ,int n,KeyType K)int low=0;int high=n-1;while (low=high)int mid=_;if (K=Amid.key) return mid; /查找成功,返回元素的下标 else if (Kmid.key) _; /在左子表上继续查找 else _; /在右子表上继续查找return -1; /查找失败,返回-1得分评卷人五、分析简答题(第一题8分,其余各题6分,共20分)1(8分)已知一个图的顶点集V和边集E分别为: V=1,2,3,4,5,6,7;
8、E=(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25;用克鲁斯卡尔算法(Kruskal)得到最小生成树,试写出在最小生成树中依次得到的各条边。(1,2)3-(4,6)4,-,(1,3)5,-(1,4)8,-(2,5)10-(4,7)20,2. (6分)设某棵二叉树的中序遍历序列为DBEAC,前序遍历序列为ABDEC,试写出这棵二叉树的后序遍历结果并画出这颗二叉树。 DEBCA3.(6分)一个线性表为B=(12,23,45,57,20,03,78,31,15,36),设散列表为HT0.12,散列函数为H(key)= key % 13并用线性探查法解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。得分评卷人六、 算法设计题(10分)设有一线性表(a1, a2,an-1)用单链表存储,写算法实现将其就地逆置的操作。(“就地”是指辅助空间应为O(1) 专心-专注-专业