2010上学期数据结构试卷 答案
南方学院2010-2011-1数据结构a

南京林业大学南方学院试卷课程 数据结构(A 卷) 2010~2011学年第一学期注意:请将正确答案写在答题纸上,答在试卷上不给分。
一.是非题:(判断下列各题是否正确,正确的在括号内打 “√”,错的打“×”。
每小题2分,共20分)1. 数据的逻辑结构独立于计算机,物理结构依赖于计算机。
2. 算法和程序没有区别,所以在数据结构中两者是通用的。
3. 线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。
4. 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素。
5. 在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。
6. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
7. 线性表可以看成是广义表的特例,若广义表中的每个元素都是原子,则广义表便成为线性表。
8. 用一维数组存储二叉树时,总是以先序遍历存储结点。
9. 用邻接矩阵存储一个图所需的存储单元数目与图的边数有关。
10. 二叉排序树的查找和折半查找的时间性能相同。
二.选择题(本大题共10小题,每小题2分,共20分)1.被计算机加工的数据元素不是孤立无关的,它们彼此之间一般存在着某种联系。
通常将数据元素之间的这种联系称为______。
A. 规则B. 集合C. 结构D. 运算2.算法的时间复杂度取决于______。
A.问题的规模B.待处理数据的初态C.A与B都对D.算法的易读性3.对于顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。
删除一个元素时所需移动元素次数的期望值为______。
A. n/2B. (n+1)/2C. (n-1)/2D. n4.循环队列用A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,那么当前队列中的元素个数是______。
A.(rear-front+m)%m B.rear-front+1 C.rear-front-1 D.rear-front5.一个非空广义表的表头______。
全国2010年1月高等教育自学考试数据结构试题及答案

全国2010年1月高等教育自学考试数据结构试题(课程代码:02331)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.若一个算法的时间复杂度用T(n)表示,其中n的含义是()A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是()A.树B.图C.栈和队列D.广义表3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为()A.O(1) B.O(m)C.O(n) D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是()A.2个B.3个.C.4个D.6个5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()A.3 B.37C.50 D.976.若栈采用链式存储结构,则下列说法中正确的是()A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空7.若串str=”Software”,其子串的数目是()A.8 B.9C.36 D.378.设有一个10阶的下三角矩阵A,采用行优先压缩存储方式,a ll为第一个元素,其存储地址为1000,每个元素占一个地址单元,则a85的地址为()A.1012 B.1017C.1032 D.10399.允许结点共享的广义表称为()A.纯表B.线性表C.递归表D.再入表10.下列数据结构中,不属于二叉树的是()A.B树B.AVL树C.二叉排序树D.哈夫曼树11.对下面有向图给出了四种可能的拓扑序列,其中错误..的是()A.1,5,2,6,3,4 B.1,5,6,2,3,4C.5,1,6,3,4,2 D.5,1,2,6,4,312.以v1为起始结点对下图进行深度优先遍历,正确的遍历序列是()A.v1,v2,v3,v4,v5,v6,v7 B.v1,v2,v5,v4,v3,v7,v6C.v1,v2,v3,v4,v7,v5,v6 D.v1,v2,v5,v6,v7,v3,v413.下列排序算法中不稳定的是()A.快速排序B.归并排序C.冒泡排序D.直接插入排序14.一个有序表为(1,3,9,12,32,41,45,62,75,77,82,95,100),当采用折半查找方法查找值32时,查找成功需要的比较次数是()A.2 B.3C.4 D.815.采用ISAM组织文件的方式属于()A.链组织B.顺序组织C.散列组织D.索引组织二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2010年全国自考数据结构模拟试卷(五)及答案

2010年全国⾃考数据结构模拟试卷(五)及答案更多优质⾃考资料,请访问⾃考乐园俱乐部/doc/c4c066f8941ea76e58fa043c.html /club/5346389 2010年全国⾃考数据结构模拟试卷(五)⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项⽬中只有⼀个是符号题⽬要求的,请将其代码填写的括号内.错选、多选或未选均⽆分。
1.设矩阵A(aij,1≤i,j≤10)的元素满⾜:aij≠0(i≥j,1≤i,j≤10)aij=0(i现将A的所有⾮0元素以⾏序为主序存放在⾸地址为2000的存储区域中,每个元素占4个单元,则元素[9,5]的⾸地址为()A.2160B.2164C.2336D.2340答案:A2.循环队列⽤数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()A.(rear-front+m)MOD mB.rear-fomt+1C.rear-fribt-1D.rear-front答案:A3.任何⼀个带权的⽆向连通图的最⼩⽣成树()A.只有⼀棵B.有⼀棵或多棵C.⼀定有多棵D.可能不存在答案:B4.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量⾄少应该是()A. 6B. 4C. 3D. 2答案:C5.磁带适合存储的⽂件类型是()B.顺序⽂件C.散列⽂件D.多关键字⽂件答案:B6.带头结点的单链表head为空的判断条件是()A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL答案:B7.在下图中,从顶点V1出发,按⼴度优选遍历图的顶点序列是()A.V1V5V3V4V2V6V7B.V1V5V3V4V2V7V6C.V1V7V2V6V4V5V3D.V1V2V4V7V6V5V3答案:A8.已知⼀棵⼆叉树结点的先根序列为ABDGCFK,中根序列为DGBAFCK,则结点的后根序列为()A.ACFKBDGB.GDBFKCAC.KCFAGDBD.ABCDFKG答案:B9.C语⾔数组Data[m+1]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执⾏出队操作的语句为()A.front=front+1B.front=(front+1)%mC.rear=(rear+1)%mD.front=(front+1)%(m+1)答案:D10.任何⼀个带权的⽆向连通图的最⼩⽣成树()A.只有⼀棵B.有⼀棵或多棵C.⼀定有多棵D.可能不存在11.将含有83个结点的完全⼆叉树从根结点开始编号,根为1号,后⾯按从上到下、从左到右的顺序对结点编号,那么编号为41的结点的双亲结点编号为()A.42B.40C.21D.20答案:D12.采⽤分治法进⾏排序的⽅法是()A.快速排序B.插⼊排序C.堆排序D.希尔排序答案:A13.设深度为k的⼆叉树上只有度为0和度为2的结点,则这类⼆叉树上所含结点总数量少()个。
上海交大2010年数据结构上机考试题目

2010-2011学年秋季《数据结构A类》上机考试题(普通班)考试时间:2011年1月7日10:00-13:00The ClocksConsider nine clocks arranged in a 3x3 array thusly:|-------| |-------| |-------|| | | | | | ||---O | |---O | | O || | | | | ||-------| |-------| |-------|A B C|-------| |-------| |-------|| | | | | || O | | O | | O || | | | | | | | ||-------| |-------| |-------|D E F|-------| |-------| |-------|| | | | | || O | | O---| | O || | | | | | | ||-------| |-------| |-------|G H IThe goal is to find a minimal sequence of moves to return all the dials to 12 o'clock. Nine different ways to turn the dials on the clocks are supplied via a table below; each way is called a move. Select for each move a number 1 through 9 which will cause the dials of the affected clocks (see next table) to be turned 90 degrees clockwise.ExampleEach number represents a time according to following table:9 9 12 9 12 12 9 12 12 12 12 12 12 12 126 6 6 5 -> 9 9 9 8-> 9 9 9 4 -> 12 9 9 9-> 12 12 126 3 6 6 6 6 9 9 9 12 9 9 12 12 12[But this might or might not be the `correct' answer; see below.]INPUT FORMATSAMPLE INPUT9 9 126 6 66 3 6OUTPUT FORMATA single line that contains a space separated list of the shortest sequence of moves (designated by numbers) which returns all the clocks to 12:00. If there is more than one solution, print the one which gives the lowest number when the moves are concatenated (e.g., 5 2 4 6 < 9 3 1 1).SAMPLE OUTPUT4 5 8 9HINTNotice that the order in which we apply moves is irrelevant, and that applying a move four times is the same as applying it not at all.Thus there are only 49 = 262144 move sequences that need to be tried, so we might as well just try them all.We don't generate them shortest first, but looking at sequences of the same length, we generate the lesser ones before the greater ones, so we only need to keep track of the shortest working sequencewe've found.二叉树遍历给出一棵完美二叉树(所有叶子节点高度相同,所有非叶子节点都有两个子节点)的描述,输出按层次顺序遍历这棵二叉树的结果。
2010年全国自考数据结构模拟试卷(四)及答案

更多优质自考资料尽在百度贴吧自考乐园俱乐部(/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........2010年全国自考数据结构模拟试卷(四)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项目中只有一个是符号题目要求的,请将其代码填写的括号内.错选、多选或未选均无分。
1.在一棵具有5层的满二叉树中,结点总数为()个。
A.33B.32C.31D.30答案:C2.在线索化二叉树中,结点T↑没有左子树的充要条件是()A.↑Lchild=NILB.↑Ltag=1C.↑Ltag=1且T↑Lchils=NILD.均不对答案:B3.在一个单链表中,已知q所指结点是p所指结点的直接前趋,若在p,q之间插入s结点,则执行()操作。
A.s->next=p->next;p->next=s;B.q->next=s;s->next=p;C.p->next=s->next;s->next=p;D.p->next=s;s->next=q;答案:B4.长度为12的按关键字有序的查找表采用顺序组织方式。
若采用二分查找方法,则在等概率情况下,查找失败时的ASL值是()A.37/12B.62/13C.39/12D.49/13答案:B5.下面的程序在执行时,S语句共被执行了()次。
i=1;while (i<=n){for(j=i;j<n;j++){ S;}i=i+1;}A. AB. BC. CD. D答案:A6.与数据元素本身的形式、内容、相对位置、个数无关的是数据的()A.存储结构B.存储实现C.逻辑结构D.运算实现答案:C7.在一非空二叉树的中序遍历序列中,根结点的右边()A.只有右子树上的所有结点B.只有右子树上的部分结点C.只有左子树上的所有结点D.只有左子树上的部分结点答案:A8.向一个栈顶指针为Top的链栈中插入一个s所指结点时,其操作步骤为()A.Top->next=s;B.s->next=Top->next;Top->next=s;C.s->next=Top;top=s;D.s->next=Top;Top=Top->next;答案:C9.实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳方案是二叉树采用()存储结构。
2010年数据结构试题集(10套题1)

2010年数据结构考试复习资料-杀虫剂数据结构试卷(一)一、单选题(每题 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进制表示。
A.688 B.678 C.692 D.6965.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1D. 2k-16.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,37.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为_-_________个,树的深度为___________,树的度为_________。
4.后缀算式9 2 3 +- 10 2 / -的值为__________。
中缀算式(3+4X)-2Y/3对应的后缀算式为_______________________________。
最新、2010考研试题及解答(数据结构部分)

5.在一棵度为4的树T中,若有20个度为4的结 点,10个度为3的结点,1个度为2的结点,10 个度为1的结点,则树T的叶结点个数是
A. 41 B. 82 C. 113 D. 122
15
6. 对n(n≥2)个权值均不相同的字符构造哈夫曼 树。下列关于该哈夫曼树的叙述中,错误的是 ()
长 的 时 间 隧 道,袅
9、2010考研试题及解答(数据结构部
1. 为解决计算机主机与打印机之间速度不 匹配问题,通常设置一个打印数据缓冲区, 主机将要输出的数据依次写入该缓冲区, 而打印机则依次从该缓冲区中取出数据。 该缓冲区的逻辑结构应该是( )
A. 栈 B. 队列 C. 树 D. 图
A. 该树一定是一棵完全二叉树 B. 树中一定没有度为1 的结点 C. 树中两个权值最小的结点一定是兄弟结点 D. 树中任一非叶结点的权值一定不小于下一层任
一结点的权值
16
7.若无向图G=(V,E)中含有7个顶点,要 保证图G在任何情况下都是连通的,则需要 的边数最少是( )
A. 6 B. 15 C. 16 D. 21
12
3.下列线索二叉树中(用虚线表示线索), 符合后序线索树定义的是( )
13
4. 在下图所示的平衡二叉树中,插入关键字 48后得到一棵新平衡二叉树。在新平衡二叉 树中,关键字37所在结点的左、右子结点中 保存的关键字分别是( )
A. 13、48 B. 24、48 C. 24、53 D. 24、90
A. d,c,e,b,f,a B. c,b,d,a,e,f C. b,c,a,e,f,d D. a,f,e,d,c,b
11
2.某队列允许在其两端进行入队操作,但 仅允许在一端进行出队操作。若元素a,b, c,d,e依次入此队列后再进行出队操作, 则不可能得到的出队序列是( )
2010年_上半年_系统结构试题(A)及答案

一、名词解释(每题5分,共计30分)1、计算机系统结构:机器语言或编译程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性,是计算机系统的软、硬件的界面。
2、数据表示:指令系统和硬件系统可以识别的数据类型3 、RISC :精简指令系统计算机RISC (Reduced Instruction Set Computer) 只保留功能简单的指令,功能较复杂的指令用子程序来实现,通过尽可能降低指令集结构的复杂性,来达到简化指令集的实现和提高性能的目的。
4、超流水处理机:在一个时钟周期内分时多次发射指令的流水处理机5、并行多处理机:又叫SIMD 计算机。
它是单一控制部件控制下的多个运算部件构成的计算机系统,所以又称为阵列处理机。
6、互连网络:由许多开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系统内部多个处理机或多个功能部件之间的相互连接及信息交换。
二、填空题(20分,每空2分,写答案时请给出空格编号)1、实现程序移植的主要途径有(1)、系列机、 (2) 和 (3) 。
2、在一台30MHZ 的处理器上执行一段20万条指令的程序,其中45%的指令时钟周期是1,30%的指令时钟周期数是2,25%的指令时钟周期数是4,则平均CPI 是 (4) ,MIPS 速率是 (5) ,程序执行时间是 (6) 。
3、设16个编号为0~15的处理机通过单级互连网络互连,若互连函数为Cube2,9号处理器与 (7) 号处理器相连, 若互连函数为PM2+2,14号处理器与 (8) 号处理器相连, 若互连函数为Shuffle (混洗),2号处理器与 (9) 号处理器相连, 若互连函数为Butterfly (蝶式),6号处理器与 (10) 号处理器相连。
(1)高级语言 (2)模拟 (3)仿真(4)2.05 (5)14.63 (6)0.013667秒(7)13 (8)2 (9)4 (10)6三、简答题(每题5分,共计20分)1、信息熵H 的定义是什么,信息冗余量R 的定义是什么?在优化编码中,它们分别有什么意义?信息熵H (Entropy ):表示用二进制编码表示n 个码点时,理论上的最短平均码长。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009-2010 学年第 一 学期期末考试
《 数据结构 》试题A 参考答案
一、 选择题(2*15=30)
CBABA BCDCA CDBDA
二、 简答题(6*6=36)
1) 试举例说明对相同的逻辑结构,同一种运算在不同的存储方式下实现,其运算效率不同。
答:对于顺序表和单链表两种数据结构:其逻辑结构都是线性表,而存储结构分别为顺序存储与链
式存储。在顺序表上进行插入操作,需要移动待插入元素之后的数据,平均次数为n/2(n为数据
元素个数);而在链表上进行插入操作,则仅仅需要把待插入元素的节点连接进链表的相应位置而
无需移动数据元素,插入运算的效率比顺序存储要好。从这个例子可以看出即使有相同的逻辑结构,
同一运算在不同存储方式下的运算效率也是会有所不同的。
2) 什么是顺序队列的‘假溢出’问题?给出一种解决的方案。
答:顺序队列因多次入队列和出队列操作后出现的有存储空间但不能进行入队列操作造成的溢出称
为‘假溢出’。 可采取四种方法解决‘假溢出’的问题:
1)采用循环队列;
2)按最大可能的进队操作次数设置顺序队列的最大元素个数;
3)修改出队算法,使每次出队列后都把队列中剩余数据元素向队头方向移动一个位置;
4)修改入队算法,增加判断条件,当假溢出时,把队列中的数据元素向对头移动,然后方完成
入队操作。
3) 链表结构的序列适合使用折半查找么?为什么?
答:不适合。因为链表结构的存储结构式链式存储,其中每个数据元素的物理存储并不是按照线性
顺序的,在折半查找寻找中间节点时,需要对链表进行顺序访问以确定中间元素;而顺序表的中间
元素可以直接用公式n/2来定址,无需计算。因此链表结构进行折半查找的效率较低,不太适合使
用折半查找。
4) 串是不定长的,表示串一般有哪些方法?C语言中的串是如何表示的?
答: c串的顺序存储有两种方法:一种方法是设置一个串的长度参数,此种方法的优点是便于在算
法中用长度参数控制循环过程;另一种方法是在串值的末尾添加结束标记,此种方法的优点是便于
系统自动实现。链式存储也有分为单字符结点和块链两种。C语言中的串是在串尾添加结束标记的
方法来表示串的。
5) 简单说明图的最小生成树普里姆算法及克鲁斯卡尔算方法的基本思想。
答:普里姆算法思想是:令集合U的初值为U={u0}(即假设构造最小生成树时从顶点u0开始),集
合T的初值为T={}。从所有顶点u∈U和顶点v∈V-U的带权边中选出具有最小权值的边(u,v),将
顶点v加入集合U中,将边(u,v) 加入集合T中。如此不断重复,当U=V时则最小生成树构造完毕。
克鲁斯卡尔算法思想是:每次加入能够连接两个连通分量的最小权边。
6) 结合排序算法的衡量标准及算法设计的目标,谈谈在设计一个算法时需要注意的因素有哪些?
答:算法设计满足以下目标:a正确性;b可读性; c健壮性; d高时间效率; e高空间效率。比较
排序算法优劣的标准包括: (1)时间复杂度:它主要是分析记录关键字的比较次数和记录的移动次
数;(2)空间复杂度 :算法中使用的内存辅助空间的多少;(3)稳定性:若两个记录A和B的关键字
值相等,但排序后A、B的先后次序保持不变,则称这种排序算法是稳定的
三、 综合题(10+10=20)
1)解:B)a:0101, b:10, c:01000, d:11, e:011, f:000,g:01001, h:001
C) wpl = 7*4 + 26*2 + 2*5 + 28*2 + 13*3 + 10*3 + 3*5 + 11*3 = 213
2)解:邻接矩阵为:
最短路径:
step A B C D E F
1 {A} Distance 0 6 30
Path[] A A -1 A -1 -1
2 {A,B} Distance 0 6 8 30 11
Path[] A A B A -1 B
3 {A,B,C} Distance 0 6 8 23 11
Path[] A A B C -1 B
4 {A,B,C,F} Distance 0 6 8 23 29 11
Path[] A A B C||F F B
5 {A,B,C,F,D} Distance 0 6 8 23 27 11
Path[] A A B C||F D B
6 {A,B,C,F,D,E} Distance 0 6 8 23 27 11
Path[] A A B C||F D B
四、 程序设计(8+6=14)
注:程序不唯一,主体思路正确即可。
1) 依下图所示,完成带头结点的链式堆栈压入、弹出的函数。
解:压入函数:
int StackPush(LnkStack *pS, DataType x)
{ LSNode *p = (LSNode *)malloc(sizeof(LSNode));
if (NULL == p) exit(1);
p->Data = x;
p->next = pS->head->next;
pS->head->next = p;
return 1;
}
弹出函数:
int StackPop(LnkStack *pS, DataType *x)
{ LSNode *p;
if (NULL == (p = pS->head->next)) .../*容错*/
pS->head->next = p->next;
*x = p->Data;
free(p);
return 1;
}
2) 求解从集合{1..n}中选取k(k<=n)个元素的所有组合。
解: 略