数据结构课程试卷2卷 苏州大学

合集下载

苏州大学-数据结构-课程期中考试答案

苏州大学-数据结构-课程期中考试答案

苏州大学数据结构课程期中考试(共6页)学院计算机专业计算机科学与技术成绩____________________ 班级11计科学号_____________姓名_____________日期2012.11_ 一、填空(14*2 分)1x=n;y=0;while (x>=y*y)y=y+1;2、对于顺序存储的栈,因为栈的空间是有限的,在进行入栈运算时,可能发生栈的上溢(overflow),在进行出栈 _运算时,可能发生栈的下溢(underflow)。

3、以顺序结构实现的双栈类中,其私有数据成员数组S[0..n-1]存放两个栈中的所有元素,top1和top2分别指向两个栈的栈顶位置,入栈1时top1由小到大,入栈2时top2由大到小,则判断双栈栈满的条件是top1+1>=top2 ,双栈栈空的条件是top1==-1 && top2==n。

4、完成链式存储结构下Queue类的append方法,其中front和rear指针分别指示队首和队尾结点:Error_code Queue :: append(const Queue_entry &item){Node *new_rear = new Node(item);if (new_rear == NULL) return overflow;if (rear == NULL) front=rear=new_rear; ;else {rear->next=new_rear; ;rear = new_rear;}return success;}5、如果一个函数直接或间接地调用自己,则称这个函数是一个递归函数。

6、在一个长度为n的顺序表中的第position(0≤position<n)个位置删除某个元素时,需移动n-position-1个元素。

7、在线性表改进的单链表实现方法中,我们定义了一个current指针指向最近访问过的结点,请解释这样做的好处:在对表中元素进行访问时,不需要每次都从头开始,在顺序访问或从前往后的访问中能提供操作效率。

2022年苏州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年苏州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年苏州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。

A.NB.2N-1C.2ND.N-12、下列说法不正确的是()。

A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程3、连续存储设计时,存储单元的地址()。

A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续4、下面关于串的叙述中,不正确的是()。

A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储5、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。

A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s6、下列关于无向连通图特性的叙述中,正确的是()。

Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ7、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。

A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=28、在下述结论中,正确的有()。

①只有一个结点的二叉树的度为0。

②二叉树的度为2。

③二叉树的左右子树可任意交换。

④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

A.①②③B.⑦③④C.②④D.①④9、有关二叉树下列说法正确的是()。

A.二叉树的度为2B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2D.二叉树中任何一个结点的度都为210、数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的()的两趟排序后的结果。

数据结构课程试卷10卷参考答案

数据结构课程试卷10卷参考答案

苏州大学数据结构课程10卷参考答案(共 5 页)院系专业 __________一、填空题(每题3分,共30分)1、7500;6252、10883、线性表;入栈;出栈4、n2+1 ; 2k-15、hdiebjkfca6、 227、深度优先;广度优先;10;从源点到汇点路径长度之和最长的路径8、299、1; 710、wpl=(2+5)*3+(7+9+13)*2=79 。

二、应用题(每题8分,共40分)因为队列的入队和出队在顺序队列的两端进行,可能造成队列空间未用完但队列指针已经越界,从而产生虚溢出。

(2分)解决虚溢出的方法是采用循环队列。

(2分)队空条件为:q.front=q.rear (2分)队满条件为:q.front=(q.rear+1)mod m (2分)2、(1)(4(2)(2分)(3)ASL=(1+1+2+1+2+1+1+3+1+3+1)/11=17/11 (2分)3、最小生成树:(4分)邻接矩阵:1 2 3 4 5 60 10 0 0 15 1210 0 5 6 0 70 5 0 6 0 00 6 6 0 0 815 0 0 10 0 1212 7 0 8 12 0(4分)4、(1(4分)(2)R1={4,5,6,7,8,9,16,18,20}。

(2分)(3)R2={5,6,4,9,8,18,20,16,7}。

(2分)三、算法设计题(每题10 分,共30分)1、假设用带头结点的单链表作为线性表的存储结构,编写在线性表中第i个元素前插入值为x的元素的算法。

deleteinsert(la,x) /*从表la中删除值为x的元素*/linklist *la;/*la分别为linklist类型的指针变量*/{linklist *p,*q;p=la;q=p->next; (3分)while (q!=null)if (q->data=x) {p->next=q->next ;dispose(q);q=p->next;} (4分)else {p=q;q=q->next;} (3分)2、int count(t,num)bitree *t;int num;{if (t) (2分)if ((t->lchild!=null) && (t->lchild==null)||(t->lchild==null) && (t->lchild!=null)) (2分)num=num+1;count(t->lchild,num); (2分)count(t->rchild,num); (2分)return(num); (2分)} /*count */3、#define INFINIY MAX_WEIGHTV oid converttu(AdjGraph *G1,ALGraph *G2)int{i,j;LinkNode *p;G2->vernum=G1->vernum;G2->e=G1->e; (3分)for (i=0;i< G1->vernum;i++){G2->adjlist[i].vexdata=G1->vexs[i];G2->adjlist[i].first=null;}for (i=0;i< G1->vernum;i++)for (j=0;j< G1->vernum;j++)if (G1->adj[i][j]<INFINITY){p=(LinkNode *)malloc(sizeof(LinkNode)) (3分)p->weight=adj[i][j];p->adjvex=j;p->next=G2->adjlist[i].first;G2->adjlist[I].first=p;}return; (3分)}O(n2) (1分)。

2012年-2015年苏州大学872数据结构与操作系统考研真题试题试卷

2012年-2015年苏州大学872数据结构与操作系统考研真题试题试卷

第 4 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...
第 5 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...
第 6 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...
第 7 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...
第 8 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...
第 9 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...
目 录
2012 年苏州大学 872 数据结构与操作系统考研真题试题试卷·····································2 2013 年苏州大学 872 数据结构与操作系统考研真题试题试卷·····································4 2014 年苏州大学 872 数据结构与操作系统考研真题试题试卷·····································6 2015 年苏州大学 872 数据结构与操作系统考研真题试题试卷·····································8
第 1 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...
第 2 页,共 9 页来自芝士传媒 × 题源库
...让知识更美味...
第 3 页,共 9 页
芝士传媒 × 题源库

...让知识更美味...

数据结构-试卷二及答案

数据结构-试卷二及答案

数据结构-试卷二及答案一、判断(每小题 1 分,共 10 分) 1.数据的存储结构是数据的逻辑结构的存储映象,不仅要存储数据元素的值,还要存储元素之间的相互关系。

2.用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系。

3.完全二叉树的叶子结点只能出现在最后一层上。

4.折半查找方法要求待查表必须是有序的顺序表。

5.在有向图 G 中, V 2 , V 1 和 V 1 , V 2 是两条不同的边。

6.图的最小生成树是唯一的。

7.从循环单链表的某一结点出发,只能找到它的后继结点,不能找到它的前趋结点。

8.在单链表中,头结点是必不可少的。

9.对快速排序来说,初始序列为正序和反序,都是最坏情况。

10.广义表是特殊的线性表。

二、选择(每题 1 分,共 15 分) 1.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S 。

若每个元素出栈后立即进入队列 Q ,且 7 个元素出队的顺序是bdcfeag ,则栈 S 的容量至少是()。

A.1 B.2 C.3 D.4 2.下列线索二叉树1/ 8中(用虚线表示线索),符合后序线索树定义的是( )。

3.已知广义表 A= (( a,b ) ,(c,d) ) , 则 head(A) 等于 ( )。

A.(a,b) B.((a,b)) C.a,b D.a 4.设字符串s1=‘ABCDEFG’,s2=‘PQRST’, 则运算s=strcat(strsub(s1,2,strlen(s2)),strsub (s1,strlen(s2),2))后结果为()。

A.BCQR B.BCDEF C.BCDEFG D.BCDEFEF 5.具有 8 个顶点的连通图的深度优先生成树,其边数为()。

A.8 B.9 C.7 D.6 6.算法分析的两个主要方面是()。

A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 7.下列四种排序中()的空间复杂度最大。

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。

A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。

答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。

答案:队尾、队头11. 二叉树中的节点包括______和______。

答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。

答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。

数据结构_苏州大学中国大学mooc课后章节答案期末考试题库2023年

数据结构_苏州大学中国大学mooc课后章节答案期末考试题库2023年

数据结构_苏州大学中国大学mooc课后章节答案期末考试题库2023年1.设p为指向单循环链表上某内部结点的指针,则查找p指向结点的直接前驱结点时答案:查找时间为O(n)2.In a of Height h, all nodes that are at a level less than h have two childreneach。

答案:full binary tree3.The quicksort is in the worst case.答案:4.已知一个有向图的邻接矩阵,要删除所有以第i号顶点结束的有向边,应该答案:将邻接矩阵的第i列元素全部置为05.一个哈希函数被认为是“好的”,如果它满足条件答案:所有哈希地址均在表长范围内,且计算简单,且哈希地址分布均匀6.查找顺序表中i号元素的直接前驱结点时,___________。

答案:查找时间为O(1)7.对一棵树进行的先根遍历操作与对这棵树所对应的二叉树进行________遍历操作结果相同。

答案:层次8.下面给出的四种排序算法中,______________ 是稳定的排序。

答案:插入排序9.已知n个顶点e条边的无向图,则于它的存储结构,下列说法正确的是:顶点结点和边结点数分别为: _____________________。

答案:其邻接表中有2e个边结点10.二分查找只适用于的查找。

答案:有序的顺序表11.归并排序和选择排序算法是稳定的排序算法。

答案:错误12.n个结点的完全二叉树中共有n/2个非叶结点。

答案:错误13.经常要对线性表进行i号元素及其前驱元素的读写,最合适的存储方案是双向链表。

答案:错误14.堆是一棵二叉查找树答案:错误15.对n个正整数进行排序,每个正整数的数位最多k位,则基数排序的时间复杂度为O(nk)。

答案:正确16.栈的操作特点是(用英文字母缩写表示)答案:FILO##%_YZPRLFH_%##LIFO17.二叉树的层次遍历算法需要用到的辅助数据结构是答案:队列18.利用堆排序算法进行排序时,被排序的数据表的存储结构是(填:顺序或链式)。

数据结构考试试题及答案

数据结构考试试题及答案

数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。

答案:线性2. 一个具有n个顶点的无向图的边数最多为______。

答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。

答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。

(完整版)数据结构试题及答案

(完整版)数据结构试题及答案

数据结构试卷(一)王彬一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

cA.688 B.678 C.692 D.6965.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( c d)个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:____ ____、________、________和_______。

2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。

苏州大学考研真题-操作系统02操作系统原理98-02数据结构与操作系统03,05数据结构02(计算机应用专业)

苏州大学考研真题-操作系统02操作系统原理98-02数据结构与操作系统03,05数据结构02(计算机应用专业)

苏州大学2003年硕士研究生入学考试试题考试科目:数据结构与操作系统数据结构部分:1、设以单向链表存储串,试编写判别给定串是否具有对称性的算法,并要求算法时间复杂度为O(length(s))。

可以设辅助空间,length(s)可以设为已知参数。

(10)2、设一有向环用邻接表表示,试设计递归算法,设计以V o出发最长路径的长度。

(15)3、简述表达式求值的基本思想,并对表达式6/(3-1)求值的操作过程,要求写出操作数栈和运算栈的变化情况。

(15)4、推导上三角阵在压缩存储时的地址计算公式。

(10)5、编写算法,求给定结点在给定的二叉排序树中解的层次。

(10)6、画出有序表(18、34、56、77、78、100、345、450、888)中进行折半查找的判定树,求等概率时查找成功时的平均查找长度。

(15)操作系统部分:1.1 操作系统及其功能1.2内存地址重定位1.3进程和线程2.4Spooling技术2、叙述操作系统提供系统调用的原因,并举例说明应用程序使用这些系统功能调用的两种方式。

(10)3、为了支持请求式分页内存管理,通常页表项内存有一标志位,用来记录相应的页是否被写过,请解释该标志位的操作者及其作用。

4、假设有一组任务序列{(x、y)},x表示到达时间,y表示需要运行的时间,在FCFS和最短作业优先下的平均周转时间。

(10)5、给出一种文件目录结构的设计,并评价这种设计的优缺点。

6、超市可容纳500人同时购物,有6扇可供出入的门,既可进又可出,每扇门只允许一个人通过:6.1用PV操作及信号量描述进入和离开该超市的算法,使得该超市的购物容量得到最大发挥。

6.2如再加一个限制条件:同一个顾客进出必须通过同一扇门,那么相应算法如何写。

数据结构_苏州大学中国大学mooc课后章节答案期末考试题库2023年

数据结构_苏州大学中国大学mooc课后章节答案期末考试题库2023年

数据结构_苏州大学中国大学mooc课后章节答案期末考试题库2023年1.假设某计算机的内存仅够存储40000个条目,现需要存储包含200个顶点19900条边的无向图,对该图的主要操作是判断两个顶点之间是否存在边,则此时最好选用的存储结构为。

(填写:邻接矩阵或邻接表)答案:邻接矩阵2.就平均性能而言,目前最好的内排序方法是()排序方法。

答案:快速3.对n个记录的表r[1..n]进行简单选择排序,所需进行的关键字间的比较次数为答案:n(n-1)/24.通常使用队列的FILO特性进行函数或过程的调用。

答案:错误5.设p为指向单循环链表上某内部结点的指针,则查找p指向结点的直接前驱结点时答案:查找时间为O(n)6.无向连通图的最小生成树是唯一的。

答案:错误7.设无向图的顶点个数为n,则该图最多有()条边答案:n(n-1)/28.为实现快速排序算法,待排序序列宜采用的存储方式是()答案:顺序存储9.已知小顶堆为8,15,10,21,34,16,12,删除关键字8之后需要重建堆,在此过程中,关键字之间的比较数是()答案:210.以下图的叙述中,正确的是()答案:无向图的连通分量指无向图中的极大连通子图11.对线性表进行二分查找时,要求线性表必须有序顺序存储。

答案:正确12.在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是()。

答案:8213.排序趟数与序列的原始状态有关的排序方法有()排序法。

答案:快速_冒泡14.哈希法存储中,冲突指的是关键字不同哈希地址相同散列地址相同答案:正确15.查找算法的时间性能与对应判定树的高度一致。

答案:正确16.对长度为4的顺序表进行查找,若查找第一个记录的概率为1/24,查找第二个记录的概率为1/6,查找第三个记录的概率为2/3,查找第四个记录的概率为1/8,则查找任意一个记录的平均查找长度为。

答案:23/817.对一个长度为10的有序表,进行不识别相等的二分查找,关键字比较的次数至少为答案:418.用二分法查找具有n个结点的顺序表时,查找每个结点的平均比较次数是。

2012-2013苏州大学数据结构实验期末考试

2012-2013苏州大学数据结构实验期末考试

苏州大学《数据结构》12-13上学年期末上机考试1题目:用双向链表模拟学生查询系统2 程序功能:通过使用双向链表,模拟创建一个学生查询系统。

程序初始化时读入学生信息文件(student.txt),此文件共有两列,分别代表学生的学号和成绩。

每一行代表一条学生信息。

程序基本功能:1) 程序可以按照学号和成绩做排名,并生成相应文件。

2) 可以根据学生成绩进行学生信息的检索。

3要求与提示:1)要求使用C++语言,以及模板编程方法。

2)程序至少需要构建两个类:学生类,链表排序类。

3)修改student.txt文件,将你的学号加入第一行,成绩为学号后两位。

4)要求程序最后生成2个文件,分别为:sortbysid.txt和sortbygrade.txt,表示两种排名情况。

5)排序算法可以采用插入排序,快速排序,归并排序,堆排序之一即可。

6)双向链表结构自行设计。

7)正确使用模板编程,其中成绩可作为模板参数。

8)功能2要求:根据你本人的学号后两位作为成绩进行检索,输出学生信息和成绩排名情况,请采用二分查找算法(注意可在链表上构造索引数组)。

9)程序书写风格规范,在每个文件第一行上加注释包括自己的学号姓名信息。

10)请将所有的项目文件保存在一个文件夹下,并把文件夹压缩后,上传到网站平台上。

本程序的功能实现请参考Demo.exe《数据结构》12-13上学年期末上机考试评分标准项目要求分值创建学生类构造函数成员函数10创建链表排序类构造函数两个个排序函数排名索引函数双向链表成员函数20学号修改将student.txt文件中添加学号信息10结果文件实现功能1,程序最后生成2个文件。

10学生信息查询实现功能2,正确采用二分查找算法10排序算法正确采用插入排序,快速排序,归并排序,堆排序之一10双向链表构造方式学生类中只有一对双向链表指针,最后有两个个链表对象10学生类中有两个个双向链表结构,最后仅有一个链表对象20模板编程正确使用模板编程,其中成绩作为模板参数10编程风格有必要注释类封装性好20程序结构清晰(每个类拥有单独的头文件和源文件)。

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案)

《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。

2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。

3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。

4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。

6、三个结点a,b,c组成二叉树,共有种不同的结构。

7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。

8、图的遍历有两种,它们是。

9、堆排序的时间复杂度为。

10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。

二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

苏州大学数据结构课程试卷2卷(共 5页)
考试形式:闭卷年月院系 ______________ 年级 ______________ 专业 ______________
学号 ______________ 姓名 ______________ 成绩 ______________
一、填空(2分×16)
1、下面程序段的时间复杂度为____mn_______。

f or (i=0; i<m; i++)
for (j=0; j<n; j++)
A[i][j]=i*j;
2、设一个数列为1,2,3,4,5,6,通过栈结构可以排成的顺序数列为
______________________________(写2个),不可以排成的顺序数列为
_______________________(写2个)。

3、算术表达式A/(B*(E+F))-T**K的逆波兰表示式为____ABEF+*/TK**-
______________________。

4、将10阶下三角矩阵A[1..10][1..10]压缩到一维数组SA[0..54]中,并采用行序为主序,则元素A[5][4]在数组SA中的下标为__________________。

5、设字符串s1='abcde',s2='opqr', 则Concat(s1,s2)=______________, Index(s2,'p')=_______。

6、已知一棵二叉树的中序遍历结果为DBHEAFICG,后序遍历结果为DHEBIFGCA,则先序遍历结果为_________________________。

7、设有序表有100个元素,在折半查找时,最大比较次数是_________,最小比较次数是_____________。

8、设哈希函数H(k)=k mod 11,哈希表的地址空间为0~11,假定哈希表中已填有关键字分别为17,60,29的记录。

若采用二次探测再散列,则关键字为39的第四个记录应填入位置______________。

若不采用二次探测再散列,而是采用线性探测再散列,则则关键字为39的第四个记录应填入位置______________。

9、设有关键字输入序列:(45,25,80,60,18,30,12,40,70),生成一棵二叉查找树,在等查找概率情况下查找成功时的平均查找长度为______________。

10、以下为链式Stack的拷贝构造函数,请在其中的下划线处填上适当的内容。

Stack :: Stack(const Stack &original) // copy constructor
/* Post: The Stack is initialized as a copy of Stack original. */
{
Node *new_copy, *original_node = __ _______;
if (original_node == NULL) top_node = NULL;
else { // Duplicate the linked nodes.
top_node = new_copy = ______________________;
while (original_node->next != NULL) {
original_node = original_node->next;
new_copy->next = new Node(original_node->entry);
________________________;
}
}
}
二、应用题
1、对于如图所示的树,试回答:(1)树的度是多少?树的深度是多少?(2)哪些为非终端结点?(3)画出其孩子兄弟链表。

(4)将该树转换为二叉树。

(10分)
A
B C D
F
E G J
H
I
K
A
2、以递归树形式画出汉诺塔递归函数move(3,1,2,3)的执行过程。

(8分)
3、已知如图所示带权有向图G ,(1)给出邻接矩阵和邻接表;(2)从结点V1出发分别对G 进行深度优先搜索和广度优先搜索,给出结点序列;(3)给出G 的一个拓扑序列。

(10分)
23
18
7
56A 4
4、(1)设一组记录的关键字序列为(25,50,15,35,80,85,20,40,36,70),对其进行2-路归并排序,写出排序过程。

(2)在堆排序、快速排序和归并排序三种排序方法中,若从节省存储空间考虑,则应首选哪种方法?若只从算法稳定性考虑,则应选取哪种方法?若只从最坏情况下排序最快并且要节省内存考虑,应选取哪种方法?(10分)
三、算法设计题
1、写出循环队列的类定义,并编写代码,实现循环队列的入队和出队方法。

(10分)
class Queue(总10分)
{public: (4分)
Queue();
bool empty();
bool full();
Error_code Append(Qentry &item);
Error_code serve();
Error_code retrieve(Qentry &item);
Private:
int rear;
int length;
Qentry entry[Maxq];
}
Error_code append(Qentry &item) {
if (length= =maxq) return OVERFLOW;
rear=(rear+1) % maxq;
entry[rear]=e;
length++;
return OK;
} (3分)
Error_code serve(Qentry &item) {
if (length= =0) return ERROR;
head=((rear+ maxq)-length+1) % maxq; item=entry[head];
length--;
return OK;
} (3分)
2、编写算法,在兄弟孩子链表表示的树中求叶子结点数。

(10分)
树的孩子兄弟链表定义:typedef struct CSNode{
ElemType data;
Struct CSNode *firstchild, *nextsibling;
} CSNode, *CSTree;
int tree_leafcount (CSTree T );
3、n个顶点的有向图的邻接表定义如下:
typedef struct ArcNode
{ int adjvex ;
struct ArcNode *nextarc ;
} ArcNode ;
typedef struct VNode
{ vertextype data ;
Arcnode *firstarc ;
} VNode ;AdjList[MAX_VERTEX_NUM] ;
typedef struct{
AdjList vertices;
int vexnum,arcnum;
}ALGraph;
请写出计算图中出度为2的顶点个数的算法。

(10分)
int graph_count(ALGraph G);。

相关文档
最新文档