《数据结构A卷以及答案-考试用》由会员分享,可在线阅读,更多相关《数据结构A卷以及答案-考试用(12页珍藏版)》请在金锄头文库上搜索。
1、承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。专业 班级 学号 学生签名: 华东交通大学20122013学年第一学期考试卷试卷编号:(A)卷 数据结构 课程 课程类别:必 开卷(仅限教材):考试日期: 题号一二三四五六七八九十总分累分人签名题分2030103010100得分 考生注意事项:1、本试卷共5页,总分100分,考试时间120分钟。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。得分评阅人 一、选择题(每题2分,共20分) 1、在一个链队列中,若f,r分别为队
2、首、队尾指针,则插入s所指结点的操作为( )(A) f-next=c;f=s (B) r-next=s;r=s(C) s-next=r;r=s (D) s-next=f;f=s2、下面程序的时间复杂度为( ) for(i=0;im;i+) for(j=0;jnext;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); 5、含N个顶点
3、的连通图中的任意一条简单路径,其长度不可能超过( )(A) 1 (B) N/2 (C) N-1 (D)N6、设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为( )。 (A) 10,15,14,18,20,36,40,21 (B) 10,15,14,18,20,40,36,21 (C) 10,15,14,20,18,40,36,2l (D) 15,10,14,18,20,36,40,217、若在线性表中采用折半查找法查找元素,该线性表应该( )。( A) 元素按值有序 (B) 采用顺序存储结构 (C) 元素按值有序,且
4、采用顺序存储结构 (D) 元素按值有序,且采用链式存储结构8、n个节点的完全二叉树,编号为i的节点是叶子结点的条件是( )。 (A) in (B) 2*in (D) 2*in9、如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( )方法最快。 (A) 起泡排序 (B) 快速排序 (C) 堆排序 (D) 直接选择排序10、对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有( )个, (A)1 (B)2 (C)3 (D)4二、填空题(每空2分,共30分) 得分评阅人 1、对于一个长度为n的顺序存储的线
5、性表,在表头插入元素的时间复杂度为 (1) ,在表尾插入元素的时间复杂度为 (2) 。2、设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较_ _(3)_ _次就可以断定数据元素X是否在查找表中3、若无向图G中有n个顶点m条边,采用邻接矩阵存储,则该矩阵中非0元素的个数为_(4)_。4、若一棵二叉树中只有叶子结点和左、右子树皆非空的结点,设叶结点的个数为M,则左、右子树皆非空的结点个数为_(5) _。5、设数组data0.m作为循环队列SQ的存储空间(判断队列满,少用一个元素空间),front为队头指针,rear为队尾指针,则执行出队操作的语句为( (6) )。6、设
6、哈夫曼树中共有n个结点,则该哈夫曼树中有_(7)_个度数为1的结点。7、设一组初始记录关键字序列为(49,38,65,97,76,13,27,50),则以d=4为增量的一趟希尔排序结束后的结果为_ _(8) 。8、队列的插入操作在_ (9) _进行,删除操作在 (10)_进行。9、下面程序段的功能是建立二叉树的算法,请在下划线处填上正确的内容。typedef struct node int data; struct node *lchild;_(11)_;bitree;void createbitree(bitree *&bt)scanf(“%c”,&ch);if(ch=#) (12 ;els
7、e bt=(bitree*)malloc(sizeof(bitree); bt-data=ch; _(13)_;createbitree(bt-rchild);10、下面程序段的功能是利用从尾部插入的方法建立单链表的算法,请在下划线处填上正确的内容。typedef struct node int data; struct node *next; linklist; void linklistcreate(_(14)_ *&head ) for (i=1;idata);p-next=0;if(i=1) head=q=p;else q-next=p;_(15)_; 三、判断题(每题1分,共10分,
8、对的打“”,错的打“”)得分评阅人 1、有向图的邻接表和逆邻接表中表结点的个数不一定相等。( )2、对链表进行插入和删除操作时不必移动链表中结点。( )3、子串“ABC”在主串“AABCABCD”中的位置为2。( )4、若一个叶子结点是某二叉树的中序遍历序列的最后一个结点,则它必是该二叉树的先序遍历序列中的最后一个结点。( )5、希尔排序算法的时间复杂度为O(n2)。( )6、用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。( )7、中序遍历一棵二叉排序树可以得到一个有序的序列。( )8、入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。(
9、)9、顺序表查找指的是在顺序存储结构上进行查找。( )10、堆是完全二叉树,完全二叉树不一定是堆。( )四、应用题(每小题6分,共30分)得分评阅人 1、已知一棵二叉树的前序遍历的结果是ABKCDFGHIJ, 中序遍历的结果是KBCDAFHIGJ, 写出后序遍历结果,并画出这棵二叉树。2、一个线性表为B=(12,23,45,57,20,03,78,31,15,36),设散列表为HT0.12,散列函数为H(key)= key % 13并用线性探查法解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。3、已知一个图的顶点集V和边集E分别为:V=1,2,3,4,5,6,7; E=(1,
10、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; 用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。4、设给定一个权值集合W=(3,5,7,9,11)要求根据给定的权值集合构造一棵哈夫曼树并计算哈夫曼树的带权路径长度WPL5、设有一个输入数据的序列是 46, 25, 78, 62, 12, 80 , 试画出从空树起,逐个输入各个数据而生成的二叉排序树。五、编程题(每题10分,共10分) 得分评阅人 1、统计出单链表HL中结点的值等于给定值X的结点数。
11、 int CountX ( LNode* HL,ElemType x)答案写在答题卡上,写在试卷上无效 承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。专业 班级 学号 学生签名: 华东交通大学20122013学年第一学期考试卷答题纸 (A卷) 数据结构 课程 课程类别:必 开卷(仅限两本教材):考试日期: 题号一二三四五六七八九十总分累分人签名题分2030103010100得分 考生注意事项:1、本答题纸共2页,总分100分,考试时间120分钟。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、选择题(每题2分,共20分)得分阅卷人12345678910二、填空题(每空2分,共30分)得分阅卷人(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)三、判断题(每题1分,共10分)得分阅卷人12345678