2014安徽省数据结构与算法考试题库
- 格式:pdf
- 大小:85.48 KB
- 文档页数:2
滁州学院2013/2014学年度第一学期期末考试试卷参考答案地理信息系统专业(本)12级《数据结构与算法》A 卷(时间120分钟)一、 选择题(每题1分,共20分)1-5 DCDDA 6-10 CDDAB 11-15 DADDC 16-20 CACCA二、 判读正误题(每题1分,共10分)1-5 √√×√√ 6-10√××××三、算法阅读填空题(每题5分,共20分)1、写出算法划线语句的执行次数和x 的结果。
(答对执行次数55或者结果55给2分) 执行次数55次 x 的结果552、在划线处填空,完成循环队列入队(答错任何一个字符给0分) cq->rear=(cq->rear+1)%MAXCSIZE;3、在划线处填空,完成单链表的查找(答对一空给2分) while( p!=NULL && p->data!=x )4、在划线处填空,完成顺序栈弹栈(栈使用base 数组存储数据) *e = s->base[--s->top]; (答案使用先对top 减;再把结果赋给e 两条语句也正确)四、计算操作题(每题10分,共40分)1、给定如图所示,画出该图的邻接表存储结构; 画出该图的邻接矩阵;分别给出从顶点1开始的按照所画的邻接矩阵写出深度优先遍历和广度优先遍历顺序。
邻接矩阵0101000101001001010101010100000100101100010000110(3分) 邻接表(3分)广度优先:1243657;(2分) 深度优先:1234576(2分)2、设权值集合W={5、29、7、8、14、23、3、11},以W 为基础,建立一颗霍夫曼树,并求出其WPL 的值。
答:(6分,不同形态也对)专业: 年级/班级: 姓名: 学号:装 订 线 内 不 要 答 题WPL=29*2+12*3+3*4+8*4+3*4+5*4+11*3+23*2=271 (4分,缺少中间这一步扣2分)3、已知一颗二叉树的中序遍历序列和后序遍历序列分别为:中序:CBEDAFIGH,后序:CEDBIFHGA。
6.一棵二叉树的第7层上最多含有的结点数为A.14B.64C.127D.128正确答案:B(2分)7.下列选项为完全二叉树的是正确答案:A(2分)8.用邻接表表示n个顶点e条边的无向图,其边表结点的总数是A. n×eB. eC. 2eD. n+e正确答案:C(2分)9.无向图中所有顶点的度数之和与所有边数之比是A.1/2B.1C.2D.4正确答案:C(2分)10.采用邻接矩阵存储图时,广度优先搜索遍历算法的时间复杂度为A. O(n)B. O(n+e)C. O(n2)D. O(n3)正确答案:C(2分)11.对序列(15,9,7,8,20,-1,4)进行排序,若一趟排序后的结果为(-1,15,9,7,8,20,4),则采用的排序方法是A.归并排序B.快速排序C.直接选择排序D.冒泡排序正确答案:D(2分)12.比较次数与待排序列初始状态无关的排序方法是A.快速排序B.冒泡排序C.直接插入排序D.直接选择排序正确答案:D(2分)13.查找较快,且插入和删除操作也比较方便的查找方法是A.分块查找B.二分查找C.顺序查找D.折半查找正确答案:A(2分)14.下列关于m阶B树的叙述中,错误..的是A.根结点至多有m棵子树B.所有叶子都在同一层次上C.每个非根内部结点至少有棵子树D.结点内部的关键字可以是无序的正确答案:D(2分)15.在散列查找中处理冲突时,可以采用开放定址法。
下列不是开放定址法的是A.线性探查法B.二次探查法C.双重散列法D.拉链法正确答案:D(2分)非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共10小题,每小题2分,共20分)16.数据结构研究的内容包括数据的逻辑结构、________和数据的运算。
正确答案:存储结构(2分)17.头指针为L的带头结点的双循环链表,结点的前趋指针域为prior,后继指针域为next,判断该链表为空的条件是________。
数据结构复习题第一章概论一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度 B. 正确性和简单性C. 可读性和文档性 D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
fori0;im;i++forj0;jn;j++a[i][j]i*j;A. Om2B. On2C. Om*nD. Om+n6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. OnB. Onlog2nC. On2D. Olog2n8、下面程序段的时间复杂度为( C )。
i1;whileinii*3;A. OnB. O3nC. Olog3nD. On39、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是( A )。
is0;whilesni++;s+i;A. OnB. On2C. Olog2nD. On311、抽象数据类型的三个组成部分分别为( A )。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是(D)。
安徽大学2014年硕士研究生入学考试试题计算机专业基础(数据结构、操作系统)——手打版,绝对真实哦操作系统(75分)一、单选题(每题2分,共20分)1、___不是基本的操作系统。
A.批处理操作系统B.分时操作系统C.实时操作系统D.网络操作系统2、在计算机系统中,通常把财务管理程序看作是____。
A.系统软件B.支援软件C.借口软件D.应用软件3、进程所请求的一次打印输出结束后,将使进程状态从___。
A.运行态变为就绪态B.运行态变为阻塞态C.就绪态变为运行态D.阻碍态变为就绪态4、进程在执行中状态会发生变化,不可能出现的状态变化情况是____。
A.运行变为就绪B.运行变为阻塞C.阻塞变为就绪D.阻塞变为运行5、若在一个单处理器的计算机系统中同时存在5个并发进程,则任何时刻允许占用处理器的进程数为____。
A.至少1个B.最多1个C.至少5个D.最多5个6、等待当前磁道上的某指定扇区旋转到磁头下所需时间为___。
A.寻道时间B.启动时间C.延迟时间D.传送时间7、作业调度选中一个作业并把它装入主存,就为该作业创建一个进程,这个进程的初始状态为_____。
A.收容状态B.就绪状态C.执行状态D.阻塞状态8、对记录式文件,操作系统为用户存取文件信息的最小单位是____。
A.字符B.数据项C.记录D.文件9、为了提高设备分配的灵活性,用户申请设备时应指定______号。
A、逻辑设备B、物理设备C、相对D、绝对10、虚拟存储管理策略可以______。
A、扩大逻辑内存容量B、扩大物理内存容量C、扩大逻辑外存容量D、扩大物理外存容量二、填空题(7*2=14分)1、UNIX系统中,文件贮存器的管理采用的是_________。
2、一个文件系统的组织方式与MS-DOS相似,在FA T中可有32K个指针,磁盘的盘块大小为1K,则其能指引的最大逻辑磁盘容量为_____________M bytes。
3、某操作系统的磁盘文件空间共有2000块,若字长为64位的位示图管理磁盘空间,位示图需要____________字。
合肥学院20 13 至20 14 学年第 2 学期数据结构与算法设计 课程考试( A )卷答案一、选择题:(2分×15=30分)1.A 2.D 3.B 4.B 5. C 6.D 7. A 8. B 9. D 10. B 11. D 12. D 13. A 14. A 15. A二、填空题:(2分×10=20分)1. n+1-i 2. s->next=p->next; p->next=s3. 12,24,35,27,18,26 4. A[i][j]=1 5. h6. ki<=k2i && ki<=k2i+17. mid=(low+high)/2; r[mid].key>k 8. 中序。
三、应用题:(5分×5=25分)1.树的链式存储结构(3分) 二叉树(2分)2.邻接矩阵:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡011110101110111010101110(3分)邻接表:(2分)3.(3分)(2分)4.(4分)E={(1,3),(1,2),(3,5),(5,6),(6,4)} (1分) 5、(5分)四、算法阅读题:(7分+5分=12分) 1、(1)查询链表的尾结点 (3分) (2)将第一个结点链接到链表的尾部,作为新的尾结点 (3分) (3)返回的线性表为(a2,a3,…,an,a1)。
(1) 2.递归地后序遍历链式存储的二叉树 (5分) 五、算法设计题:(7分+6分=13分) 1.void mergelklist(lklist *ha,lklist *hb,lklist *&hc)AB GC EH JF D Ilklist *s=hc=0; (2分)while(ha!=0 && hb!=0)if(ha->data<hb->data){if(s==0) hc=s=ha; else {s->next=ha; s=ha;};ha=ha->next;} else {if(s==0) hc=s=hb; else {s->next=hb; s=hb;};hb=hb->next;} (3分)if(ha==0) s->next=hb; else s->next=ha; (2分)}2.typedef struct node {int data; struct node *lchild,*rchild;} bitree; (2分)void swapbitree(bitree *bt){bitree *p;if(bt==0) return;swapbitree(bt->lchild); swapbitree(bt->rchild); (2分)p=bt->lchild; bt->lchild=bt->rchild; bt->rchild=p; (2分)}。
大题共4小题,每小题5分。
共20分)
请在答题卡上作答。
26.设Q是有N个存储空间的循环队列,初始状态front=rear=0,约定指针rear指向的单元始终为空,回答下列问题。
请根据最优二叉树的基本原理,采用类C语言,描述你所设计的成绩判定过程。
29.给定有向无环图G如题29图所示,写出G的5种不同的拓扑排序序列。
的单链表定义如下,其中freq域记录本结点被访问的次数,初值为0,单链表始终以freq 序。
函数f3l完成的功能是:查找给定关键字所在结点,若查找成功,则该结点的freq域加值调整结r旨位置。
请将空白处(1)~(3)补充完整。
在答题卡上作答。
回答下列问题。
五、算法设计题(本大题共l小题,共“l0分) 请在答题卡上作答。
34.已知带头结点的单链表类型定义如下:
- 10 -。
程序设计部分读程序,写结果1.#include<iostream>Using namespace stdMain(){int i=2 ,j=4,m,n;m = ++i + j++;//i=3 j=5 m=3+4=7n = (++i)+(++j)+m;//i=4,j=6,n=4+6+7=17cout <<i<<j<<m<<n;//46717return 0;}2. #include<iostream>Using namespace stdmain(){int a=1,b=2,c=3,d=4,y=10;switch(y){case1:a++;break;default:d=1;case2:b++;break;//d=1,b=3case4:c++;break;}Cout <<a<<b<<c<<d<<endl;//1331Return 0;}3. #include<iostream>Using namespace stdMain(){Int i=0,sum=0;for(;;){i+=2;if(i>10){ cout <<”sum=”<<sum; break;}if(i==8) continue;sum+=I;//0+2+4+6+10=22}Return 0;}4. #include<iostream>Using namespace std;Int &f1 (int &a );Int f2 (int b );Main(){Int x=10;Int y=f1(x);Int z=f2(x);cout <<x<<endl//20cout <<y<<endl;//20cout <<z<<endl;//40return 0;}Int &f1(int &a){a+=a;}Int f2(int b){b+=b;}}#include<iostream>Using namespace stdClass A{private:int a;static int b;public :A(int i ){a=i;b+=i;}Void f();void A::f(){cout <<”a=”<<a<<endl;cout <<”b=”<<b<<endl; }Private A::b=0;Main(){A obj1(10);//obj1.f();A obj2(15);obj2.f();obj1.f();return 0;}}a=10b=10a=15b=25a=10b=255. #include<iostream>Using namespace stdClass A{Private:int a;public:A(){ cout<<”A`s default constactour call n”;};A(int i) {a= i; cout<< ”A`sconstractour called. n”};Void print(){ cout<<a<< ’’, ’’;}~A() { cout<< ”A`s destractor called. n”}Int Geta{ return a;}}Class B{Public:AB(){ cout<< ”B`s default constactour called. n”};B(int i, int j, int k ){ A(i),aa(j)cout << B`s ”c onstractor called.\n”;} ~B(){ cout <<”B’s destractor called.\n”}Void print();Private:Int b;A aa;}Void B::print(){A::print();Cout <<b<<aa.Geta()<<endl;}Main(){B bb[2] = {B(10,15,20),B(1,2,3)};For(int i=0;i<2;i++){bb[i].print(); }}。
2014-2015学年第2学期考试试题(A)卷课程名称算法与数据结构任课教师签名出题教师签名审题教师签名考试方式(闭)卷适用专业信息与计算机考试时间(120)分钟一、单项选择题(每小题4分,共20分)1、算法的时间复杂度与()有关。
(A) 问题规模(B) 计算机硬件性能(C) 编译程序质量(D) 程序设计语言2、线性表的链式存储结构与顺序存储结构相比的优点是()。
(A) 所有的操作算法实现简单(B) 便于随机存取(C) 便于插入和删除操作的实现(D) 便于利用零散的存储器空间3、设10个元素进栈序列是1,2,…,10,其输出序列是a1,a2,…,a10,如果a1=3,则a2的值为()。
(A) 一定是2 (B) 一定是1(C) 不可能是4 (D) 不可能是14、设高度为h的二叉树上只有度为0和度为2的结点(假设仅含根结点的二叉树的高度为1),则此二叉树所包含的结点数至多有()。
(A) 2h-1 (B) 2h - 1(C) 2h+1 (D) 2h + 15、设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有()个结点。
(A) 13 (B) 12(C) 26 (D) 25二、填空题(每小题2分,共10分)1、把一个递归过程转换成一个等价的非递归过程,通常使用()。
2、数据的逻辑结构是从逻辑上描述数据,它与数据的()无关,是独立于计算机的。
3、在单链表中,结点与结点之间的逻辑关系不是通过存储单元的顺序来表示的,而是通过()来实现的。
4、实现动态分配和动态回收一个结点空间的两个标准过程是()和()。
三、名词解释(每小题5分,共10分)1、线性表2、哈希函数四、简答题(每小题5分,共10分)1、简述顺序表和链表的优缺点。
2、举例说明直接选择排序方法是一种不稳定的排序方法。
五、应用题(每小题6分,共30分)1、关键字序列{12,7,18,13,17,29,34,6,8}是否为堆?若不是,请将其调整为最小堆,并统计建堆过程中的交换次数。
绪论一、填空题1、数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:集合_、线性结构_、树型结构_、图状结构_。
2、数据的存储结构是数据在计算机存储器里的表示,主要有4种基本存储方法:顺序存储_、链式存储_、索引存储_、散列存储_。
二、选择题1、一个算法必须在执行有穷步之后结束,这是算法的(B )。
A、正确性B、有穷性C、确定性D、可行性2、算法的每一步必须有确切的定义,也就是说,对于每步需要执行的动作必须严格、清楚地给出规定,这是算法的(A)。
A、正确性B、有穷性C、确定性D、可行性3、算法原则上都是能够有机器或人所完成的。
整个算法好象是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作,这是算法的(D)A、正确性B、有穷性C、确定性D、可行性三、简单题1、什么是数据结构?什么是算法?两者有什么关系?什么是数据结构?数据结构是按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。
什么是算法?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”两者有什么关系?算法与数据结构关系密切。
选择的数据结构是否恰当直接影响算法的效率;而数据结构的优劣由算法的执行来体现。
2、什么是复杂度和空间复杂度?时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。
3、数据的逻辑结构分几种?存储结构又有哪几种?数据的逻辑结构:结构定义中的“关系”,描述的是数据元素之间的逻辑关系;包括线性结构(线性表、栈、队、串、数组)和非线性结构(图形结构、树形结构);数据的存储结构(物理结构):数据结构在计算机中的表示(又称映像),包括数据元素的表示和关系德表示。
有顺序存贮(向量存贮)、链式存贮、索引存贮、散列存贮。
线性表1、一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5 个元素的地址是( B)。
1、以下属于顺序存储结构优点的是( A )。
A) 存储密度大B) 插入运算方便
C)删除运算方便D)可方便地用于各种逻辑结构的存储表示
2、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
3、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
4、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
5、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
6、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
7、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
8、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
9、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
10、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
11、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
12、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
13、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
14、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
15、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
16、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A。