杭电《数据结构》习题答案.doc

上传人:仙人指路1688 文档编号:4099512 上传时间:2023-04-04 格式:DOC 页数:14 大小:1.19MB
返回 下载 相关 举报
杭电《数据结构》习题答案.doc_第1页
第1页 / 共14页
杭电《数据结构》习题答案.doc_第2页
第2页 / 共14页
杭电《数据结构》习题答案.doc_第3页
第3页 / 共14页
杭电《数据结构》习题答案.doc_第4页
第4页 / 共14页
杭电《数据结构》习题答案.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《杭电《数据结构》习题答案.doc》由会员分享,可在线阅读,更多相关《杭电《数据结构》习题答案.doc(14页珍藏版)》请在三一办公上搜索。

1、软件技术基础之数据结构习题1) 选择题1. *下面关于线性表的叙述中,正确的是( D )A) 线性表的每个元素都有一个直接前驱和直接后继B) 线性表中至少要有一个元素C) 线性表中的元素必须按递增或递减的顺序排列D) 除第一个元素和最后一个元素外,其余每个元素有且仅有一个直接前驱和直接后继2. 下面关于线性表的叙述中,错误的是( B )A) 采用顺序存储的线性表必须占用一片连续的存储单元B) 采用顺序存储的线性表便于进行插入和删除操作C) 采用链接存储的线性表,不必占用一片连续的存储单元D) 采用链接存储的线性表,便于进行插入和删除操作3. 设有栈S和队列Q,初始状态皆为空,元素a1、a2、a

2、3、a4、a5、a6依次入栈,出栈的元素依次进入队列Q,若6个元素的出栈序列为: a2、 a4、a3、a6、 a5、 a1,则栈的容量至少是( C )A) 6B) 4C) 3D) 24. 设在栈中,由顶向下已存放元素c、b、a,在第4个元素d入栈前,栈中元素可以出栈,试问d入栈后,不可能的出栈序列是( C )A) d c b a B) c b d aC) c a d bD) c d b a5. *在一棵二叉树的先序遍历、中序遍历、后序遍历序列中,所有叶节点的先后顺序( B )A) 都不相同B) 完全相同C) 先序和中序相同,后序不同D) 中序和后序相同,先序不同6. 设二叉树根结点的层次为0,

3、一棵高度为h的满二叉树的结点个数是( C )A) 2hB) 2h1C) 2h1D) 2h117. 已知一棵二叉树的前序序列为ABDGCFK,中序序列为DGBAFCK,则结点的后序序列为( B )A) ACFKDBGB) GDBFKCAC) KCFAGDBD) ABCDFKG8. 欲得到二叉搜索树(BST)各结点值的递增序列,试问应该采用何种遍历方法( B )A) 先序遍历B) 中序遍历C) 后序遍历D) 层次遍历9. *与数据元素本身这是存储的内容的形式、内容、相对位置、个数无关的是数据的( C )A) 存储结构B) 存储形式C) 逻辑结构D) 运算实现10. 有一棵非空的二叉树(第0层为根结

4、点),其第i层上至多有( A )个节点A) 2iB) 2i1C) 2i1D) i11. 双向链表结点结构如下:LLinkRLinkData其中:LLink是指向前趋结点的指针域,Data是存放数据元素的数据域,RLink是指向后继结点的指针域。下面给出的算法段是要把一个新结点Q作为非空双向链表的结点P的前趋,插入到此双向链表中。能正确完成要求的算法段是( C )A) QLLink=PLLink;QRLink= P;PLLink=Q;PLLink RLink=QB) PLLink=Q;QRLink= P;PLLink RLink=Q;QLLink=PLLinkC) QLLink=PLLink;Q

5、RLink= P;PLLink RLink=Q;PLLink=Q12. 若某线性表中最常用的操作是取第i个元素随机访问!和第i个元素的前趋元素,则采用( A )存储方式最节省时间A) 顺序表B) 单链表C) 双链表D) 单循环链表13. 设数组Data0m作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( D )A) front := front + 1B) front := (front + 1) mod mC) rear := (rear + 1)mod mD) front :=(front + 1)mod (m + 1)14. 用数组A0m-1

6、存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为( A )A) (rear front + m) mod mB) (rear front + 1) mod mC) (rear front 1 + m) mod mD) (rear front) mod m15. 以下有关数据结构的叙述,正确的是( C )A) 线性表的线性存储结构优于链式存储结构B) 二叉树的第i层有2i1个结点,深度为k的二叉树上有2k1个结点C) 严格地讲二维数组不是线性表,但可以看成是线性表在下述含义上的扩展:二维数组是其数据元素为线性表的线性表D) 栈的操作方式是先进先出16.

7、二维数组Mi,j的元素是4个字符(每个字符占用一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5。M按行存储时的元素M3,5的起始地址与M按列存储时的元素( B )的起始地址相同A) M2,4B) M3,4C) M3,5D) M4,4M0:4, 0:5A +i*6+j=A+3*6+5A+j*5+i3*6+5= j*5+i i,jN,17. 设计一个判别表达式中左右括号是否配对出现的算法,采用( B )数据结构最佳A) 线性表的顺序存储结构B) 栈C) 队列D) 线性表的链式存储结构18. 深度为6(根的层次为1)的二叉树至多有结点( C )A) 31B) 32C) 63D)

8、 6419. 将含有100个结点的完全二叉树从根这一层开始,每层从左到右依次对结点编号,根结点的编号为1。编号为71的双亲的编号为( B )A) 34B) 35C) 36D) 无法确定20. 如图所示二叉树的中序遍历序列是( B )A) a b c d g e fB) d f e b a g cC) d b a e f c gD) d e f b a g c21. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,则它的前序遍历序列为( D )A) a c b e d B) d e c a bC) d e a b cD) c e d b a22. 如果T2是由树T转换而来的二叉

9、树,那么T中结点的前序就是T2中结点( A )A) 前序B) 中序C) 后序D) 层次序23. 如果T2是由树T转换而来的二叉树,那么T中结点的后序就是T2中结点( B )A) 前序B) 中序C) 后序D) 层次序24. 若某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是bgdaechf,则其后序遍历的结点访问顺序是( D )A) bdgcefhaB) gdbecfhaC) bdgechfaD) gdbehfca25. *在计算递归函数时,如不使用递归过程,则一般情况下必须借助于( A )数据结构A) 栈B) 树C) 双向队列D) 广义表26. 二叉树的前序遍历序列中

10、,任意一个结点均处在其子女结点的前面。这种说法( A )A) 正确B) 错误27. 由于二叉树中每个结点的度最大为2,所以二叉树时一种特殊的树。这种说法( B )A) 正确B) 错误28. *二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值,小于其右孩子的值。这种说法( B )A) 正确B) 错误29. 设二叉树根结点的层次为0,一棵高度为h的满二叉树中的结点个数是( D )A) 2hB) 2h-1C) 2h-1D) 2h+1-130. 含N个顶点的联通图中任意一条简单路径,其长度不可能超过( C )A) 1B) N/2C) N1D) N31. *实现任意二叉树的后序遍历的非

11、递归算法而不使用栈结构,最佳方案是二叉树采用( C )存储结构A) 二叉链表B) 广义表存储结构C) 三叉链表D) 顺序存储结构 32. 具有65个结点的完全二叉树深度为( B )(根的层次号为1)A) 8B) 7C) 6D) 533. 以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n0),空链域的个数为( C =2N-(N-1) =N+1 )A) 2n-1B) n-1C) n+1D) 2n+134. 在一非空二叉树的中序遍历序列中,根结点的右边( A )A) 只有右子树上的所有结点B) 只有右子树上的部分结点C) 只有左子树上的所有结点D) 只有左子树上的部分结点35. 已知一

12、棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为( A )A) CBEFDAB) FEDCBAC) CBEDFAD) 不定36. 一棵满二叉树共有n个结点,其中m个为树叶,则( B )N=2h-1=2h-1 2-1=m2-1, m=2h-1A) n=m+1B) m=(n+1)/2C) n=2mD) n=2m37. 设矩阵A(aij,1i,j10)的元素满足:aij 0(ij, 1i,j10)aij0(ij, 1i,j10)现将A的所有非0元素以行序存放在首地址为2000的存储区域中,每个元素占4个单元,则元素9,5的首地址为( AOrd(i,j)=i(i-1)

13、/2+j-1 )A) 2160B) 2164C) 2336D) 234038. 设高度为h的二叉树上只有度为0和2的结点,则此类二叉树中所含的结点数至少为( B ),至多为( E )A) 2hB) 2h-1C) 2h+1D) h-1E) 2h-1F) 2h-1G) 2(h+1)-1H) 2h+139. 已知一有向图的邻接表出表存储结构如下:(1)、根据有向图的深度优先遍历算法,从顶点V1出发,所得到的顶点序列是( B )a) V1V2V3V5V4b) V1V3V4V5V2c) V1V3V2V4V5d) V1V4V3V5V2(2)、根据有向图的广度优先遍历算法,从顶点V1出发,所得到的顶点序列是

14、( C )a) V1V2V3V4V5b) V1V2V3V5V4c) V1V3V2V4V5d) V1V4V3V2V5(3)、能否根据邻接表画出该有向图?为什么?答:能,因为该邻接表已经表明了该图的所有节点以及所有节点之间的关系,即G(V,E)中的集合V和E都表达清楚了。40. 邻接表存储结构下图的深度优先遍历算法结构类似于二叉树的( A )A) 先序遍历B) 中序遍历C) 后序遍历D) 按层遍历41. 若某链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用( D )存储方式最节省运算时间。A) 单链表B) 双链表C) 单循环链表D) 带头结点的双循环链表42. 下面关于

15、数据结构的叙述中,正确的叙述是( C )A) 顺序存储方式的优点是存储密度大,且插入、删除运算效率高B) 链表中的每一个结点都包含恰好一个指针C) 将一棵树转换成为二叉树后,根结点没有右子树43. 一个nn的带状矩阵Aaij如下: a11 a12 a21 a22 a23 a32 a33 a34 A an-1 n an n-1 an n 将带状区域的元素aij(|ij|1)按行序为主序存储在一维数组B1.3n-2中,元素aij在B中的存储位置是( B )Ord(i,j)=3(i-1)-1+2+j-iA) i+2j-1B) 2i+j-2C) 3i-j+1D) i+j+244. 设树T的度为4,其中

16、度为1、2、3和4的结点的个数分别为4、2、1、1,则T中叶子结点的个数是( D )X+4+2+1+1=节点总数14223141X=8 A) 5B) 6C) 7D) 845. (X)对树中的一个结点x,在先根序列的序号为pre(x),在后跟序列中的序号为post(y)。若树中结点x是结点x和结点y的祖先,下列四个条件哪个条件正确( )A) pre(x) pre(y) 和 post(x) post(y)B) pre(x) post(y)C) pre(x) pre(y) 和 post(x) pre(y) 和 post(x)post(y)46. 设有向图G有n个顶点,它的邻接矩阵为A,G中第i个顶点

17、Vi的度为( C )A)B)C)D) 47. 二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK中序遍历:HFIEJKG该二叉树根的右子树的根是( C )A) EB) FC) GD) H2) 填空题1. 数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内容,分别是 数据的逻辑结构 、 物理结构 、算法结构。2. 从逻辑关系上讲,数据结构主要分为两大类,它们是 线性结构 、 非线性结构 。3. 数据结构的四种基本的存储方法是 顺序存储 、 链式存储 、索引存储、散列存储。4. 数据的基本单位是 数据元素 。5. 在单链表中,指针P所指结点为最后一个结点的条件是 !(

18、P-Next) 。6. 设一个链栈的栈顶指针为Top,栈中结点两个字段分别为info和next,其中next是指示后继结点的指针,栈空的条件是 (!TOP) 。如果栈不空,则退栈操作为:p:=Top; Top:=Top-Next ;dispose(p);7. 设r指向单链表的最后一个结点,要在最后一个结点之后插入指针s所指的结点,需执行的三条语句是: r-Next=s ; r:=s; r.next:=nil;8. 数组通常只有两种运算: 读 和写(给定下标,修改相应的元素),这决定了数组通常采用 顺序表 来实现存储。9. 多维数组的两种存储方式是 按行序存储 和 按列序存储 。10. 栈和队列

19、均可视为特殊的线性表,所不同的在于他们的 添加 和 删除 运算的限定不一样。11. 图的主要存储结构有两种,分别为 相邻矩阵 和 邻接表 。12. 将一棵树转化成二叉树的步骤是 。13. 从概念上讲,树和二叉树是两种不同的数据结构,将树转化成二叉树的基本目的是: 。14. 设n个节点的m叉树采用m叉链表(即每个结点有m个指针域,用来存放每个子树的根结点的存储地址)存储结构,请问会有 nm-(n-1) 个空指针域。15. 已知一个图的邻接矩阵表示,计算第i个结点的入度的方法是 列的和 。16. 已知一个图的邻接矩阵表示,删除所有从第i个结点出发的弧的方法是 清除第i行 。17. 设F是由T1、T

20、2、T3三棵树组成的森林,与F对应的二叉树为B,已知T1、T2、T3的结点个数分别是n1、n2、n3,则二叉树B的根结点的左子树和右子树中的结点个数分别为n11和 n2n3 。18. 用数组A1.n顺序存储完全二叉树的各结点,则当i(n-1)/2时,结点Ai的右子女是结点 A2i+1 。3) 应用题1. 答:用三元组法表示稀疏矩阵可以节省存储空间。用三元组表示该稀疏矩阵: (6,6,8)(1,6,2)(2,1,1)(2,5,3)(3,4,5)(3,6,7)(4,2,8)(5,5,5)(6,4,6) 2. 答:1)插入节点66后的二叉搜索树60704058756557682)删除节点60后的二搜

21、索叉树(1)从左子树取节点58704075576568(2)从右子树取节点657040755868573)用一维数组表达图二所示的树的存储结构(60,40,70,0,58,65,75,0,0,57,0,0,0,68,0,0)4)用一维数组表达二叉树的存储结构的缺点为容易浪费存储空间。3. 答: 1)说明每个顶点的度(degree)顶点度1323334252632)图的表示法中,相对于相邻矩阵,邻接表有下列好处 存储效率高,访问方便。 3)该图的相邻矩阵 010011101100010101011000100001100010 4)该图的邻接表表示 5)根据第4小题的邻接表从顶点1开始的深度遍历

22、为: 1、2、3、4、6、5广度优先遍历为:1、2、5、6、3、4我的大学爱情观目录:一、 大学概念二、 分析爱情健康观三、 爱情观要三思四、 大学需要对爱情要认识和理解五、 总结1、什么是大学爱情:大学是一个相对宽松,时间自由,自己支配的环境,也正因为这样,培植爱情之花最肥沃的土地。大学生恋爱一直是大学校园的热门话题,恋爱和学业也就自然成为了大学生在校期间面对的两个主要问题。恋爱关系处理得好、正确,健康,可以成为学习和事业的催化剂,使人学习努力、成绩上升;恋爱关系处理的不当,不健康,可能分散精力、浪费时间、情绪波动、成绩下降。因此,大学生的恋爱观必须树立在健康之上,并且树立正确的恋爱观是十分

23、有必要的。因此我从下面几方面谈谈自己的对大学爱情观。2、什么是健康的爱情:1) 尊重对方,不显示对爱情的占有欲,不把爱情放第一位,不痴情过分;2) 理解对方,互相关心,互相支持,互相鼓励,并以对方的幸福为自己的满足; 3) 是彼此独立的前提下结合;3、什么是不健康的爱情:1)盲目的约会,忽视了学业;2)过于痴情,一味地要求对方表露爱的情怀,这种爱情常有病态的夸张;3)缺乏体贴怜爱之心,只表现自己强烈的占有欲;4)偏重于外表的追求;4、大学生处理两人的在爱情观需要三思:1. 不影响学习:大学恋爱可以说是一种必要的经历,学习是大学的基本和主要任务,这两者之间有错综复杂的关系,有的学生因为爱情,过分

24、的忽视了学习,把感情放在第一位;学习的时候就认真的去学,不要去想爱情中的事,谈恋爱的时候用心去谈,也可以交流下学习,互相鼓励,共同进步。2. 有足够的精力:大学生活,说忙也会很忙,但说轻松也是相对会轻松的!大学生恋爱必须合理安排自身的精力,忙于学习的同时不能因为感情的事情分心,不能在学习期间,放弃学习而去谈感情,把握合理的精力,分配好学习和感情。3、 有合理的时间;大学时间可以分为学习和生活时间,合理把握好学习时间和生活时间的“度”很重要;学习的时候,不能分配学习时间去安排两人的在一起的事情,应该以学习为第一;生活时间,两人可以相互谈谈恋爱,用心去谈,也可以交流下学习,互相鼓励,共同进步。5、

25、大学生对爱情需要认识与理解,主要涉及到以下几个方面:(一) 明确学生的主要任务“放弃时间的人,时间也会放弃他。”大学时代是吸纳知识、增长才干的时期。作为当代大学生,要认识到现在的任务是学习学习做人、学习知识、学习为人民服务的本领。在校大学生要集中精力,投入到学习和社会实践中,而不是因把过多的精力、时间用于谈情说爱浪费宝贵的青春年华。因此,明确自己的目标,规划自己的学习道路,合理分配好学习和恋爱的地位。(二) 树林正确的恋爱观提倡志同道合、有默契、相互喜欢的爱情:在恋人的选择上最重要的条件应该是志同道合,思想品德、事业理想和生活情趣等大体一致。摆正爱情与学习、事业的关系:大学生应该把学习、事业放

26、在首位,摆正爱情与学习、事业的关系,不能把宝贵的大学时间,锻炼自身的时间都用于谈情说有爱而放松了学习。 相互理解、相互信任,是一份责任和奉献。爱情是奉献而不时索取,是拥有而不是占有。身边的人与事时刻为我们敲响警钟,不再让悲剧重演。生命只有一次,不会重来,大学生一定要树立正确的爱情观。(三) 发展健康的恋爱行为 在当今大学校园,情侣成双入对已司空见惯。抑制大学生恋爱是不实际的,大学生一定要发展健康的恋爱行为。与恋人多谈谈学习与工作,把恋爱行为限制在社会规范内,不致越轨,要使爱情沿着健康的道路发展。正如马克思所说:“在我看来,真正的爱情是表现在恋人对他的偶像采取含蓄、谦恭甚至羞涩的态度,而绝不是表

27、现在随意流露热情和过早的亲昵。”(四) 爱情不是一件跟风的事儿。很多大学生的爱情实际上是跟风的结果,是看到别人有了爱情,看到别人幸福的样子(注意,只是看上去很美),产生了羊群心理,也就花了大把的时间和精力去寻找爱情(五) 距离才是保持爱情之花常开不败的法宝。爱情到底需要花多少时间,这是一个很大的问题。有的大学生爱情失败,不是因为男女双方在一起的时间太少,而是因为他们在一起的时间太多。相反,很多大学生恋爱成功,不是因为男女双方在一起的时间太少,而是因为他们准确地把握了在一起的时间的多少程度。(六) 爱情不是自我封闭的二人世界。很多人过分的活在两人世界,对身边的同学,身边好友渐渐的失去联系,失去了对话,生活中只有彼此两人;班级活动也不参加,社外活动也不参加,每天除了对方还是对方,这样不利于大学生健康发展,不仅影响学习,影响了自身交际和合作能力。总结:男女之间面对恋爱,首先要摆正好自己的心态,树立自尊、自爱、自强、自重应有的品格,千万不要盲目地追求爱,也不宜过急追求爱,要分清自己的条件是否成熟。要树立正确的恋爱观,明确大学的目的,以学习为第一;规划好大学计划,在不影响学习的条件下,要对恋爱认真,专一,相互鼓励,相互学习,共同进步;认真对待恋爱观,做健康的恋爱;总之,我们大学生要树立正确的恋爱观念,让大学的爱情成为青春记忆里最美的风景,而不是终身的遗憾!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号