最新 数据结构 形成性考核答案(本)作业1-4

上传人:re****.1 文档编号:504232654 上传时间:2023-11-21 格式:DOCX 页数:21 大小:139.38KB
返回 下载 相关 举报
最新 数据结构 形成性考核答案(本)作业1-4_第1页
第1页 / 共21页
最新 数据结构 形成性考核答案(本)作业1-4_第2页
第2页 / 共21页
最新 数据结构 形成性考核答案(本)作业1-4_第3页
第3页 / 共21页
最新 数据结构 形成性考核答案(本)作业1-4_第4页
第4页 / 共21页
最新 数据结构 形成性考核答案(本)作业1-4_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《最新 数据结构 形成性考核答案(本)作业1-4》由会员分享,可在线阅读,更多相关《最新 数据结构 形成性考核答案(本)作业1-4(21页珍藏版)》请在金锄头文库上搜索。

1、数据结构构(本)形形成性考考核作业业答案作业1一、单项项选择题题1C 22D 33B 44C 55D 66C 77B 88C 99A 110BB11CC 112DD 113CC 114AA 115BB 116CC 117CC 118BB 119BB 220DD二、填空空题1n-i+112n-i3集合合 线线性结构构 树形形结构 图图状结构构 4物理理结构 存储储结构 5线性性结构 非非线性结结构6有穷穷性 确定定性 可形形性 有有零个或或多个输输入 有零个个或多个个输出7图状状结构 8树形形结构 9线性性结构 10nn-1 OO(n)11ss-nnextt=p-neext; 12hheadd1

2、3qq-nnextt=p-neext; 14pp-nnextt=heead; 15单单链表16顺顺序存储储 链链式存储储17存存储结构构18两两个 直接后后继 直接前前驱 尾结结点 头结结点19头头结点的的指针 指指向第一一个结点点的指针针20链链式 链表三、问答答题1简述述数据的的逻辑结结构和存存储结构构的区别别与联系系,它们们如何影影响算法法的设计计与实现现?答:若用用结点表表示某个个数据元元素,则则结点与与结点之之间的逻逻辑关系系就称为为数据的的逻辑结结构。数数据在计计算机中中的存储储表示称称为数据据的存储储结构。可可见,数数据的逻逻辑结构构是反映映数据之之间的固固有关系系,而数数据的存

3、存储结构构是数据据在计算算机中的的存储表表示。尽尽管因采采用的存存储结构构不同,逻逻辑上相相邻的结结点,其其物理地地址未必必相同,但但可通过过结点的的内部信信息,找找到其相相邻的结结点,从从而保留留了逻辑辑结构的的特点。采采用的存存储结构构不同,对对数据的的操作在在灵活性性,算法法复杂度度等方面面差别较较大。2解释释顺序存存储结构构和链式式存储结结构的特特点,并并比较顺顺序存储储结构和和链式存存储结构构的优缺缺点。答:顺序结构构存储时时,相邻邻数据元元素的存存放地址址也相邻邻,即逻逻辑结构构和存储储结构是是统一的的,要要求内存存中存储储单元的的地址必必须是连连续的。优点:一一般情况况下,存存储

4、密度度大,存存储空间间利用率率高。缺点:(11)在做做插入和和删除操操作时,需需移动大大量元素素;(22)由于于难以估估计,必必须预先先分配较较大的空空间,往往往使存存储空间间不能得得到充分分利用;(3)表表的容量量难以扩扩充。链式结构构存储时时,相邻邻数据元元素可随随意存放放,所占占空间分分为两部部分,一一部分存存放结点点值,另另一部分分存放表表示结点点间关系系的指针针。优点:插插入和删删除元素素时很方方便,使使用灵活活。缺点:存存储密度度小,存存储空间间利用率率低。3什么么情况下下用顺序序表比链链表好?答:顺序序表适于于做查找找这样的的静态操操作,链链表适于于做插入入和删除除这样的的动态操

5、操作。如如果线性性表的变变化长度度变化不不大,且且其主要要操作是是查找,则则采用顺顺序表;如果线线性表的的长度变变化较大大,且其其主要操操作是插插入、删删除操作作,则采采用链表表。4解释释头结点点、第一一个结点点(或称称首元结结点)、头头指针这这三个概概念的区区别?答:头结点是是在链表表的开始始结点之之前附加加的一个个结点;第一个个结点(或或称首元元结点)是是链表中中存储第第一个数数据元素素的结点点;头指指针是指指向链表表中第一一个结点点(或为为头结点点或为首首元结点点)的指指针。5解释释带头结结点的单单链表和和不带头头结点的的单链表表的区别别。答:带头结点点的单链链表和不不带头结结点的单单链

6、表的的区别主主要体现现在其结结构上和和算法操操作上。在结构上上,带头头结点的的单链表表,不管管链表是是否为空空,均含含有一个个头结点点,不带带头结点点的单链链表不含含头结点点。在操作上上,带头头结点的的单链表表的初始始化为申申请一个个头结点点。无论论插入或或删除的的位置是是地第一一个结点点还是其其他结点点,算法法步骤都都相同。不不带头结结点的单单链表,其其算法步步骤要分分别考虑虑插入或或删除的的位置是是第一个个结点还还是其他他结点。因因为两种种情况的的算法步步骤不同同。四、程序序填空题题1(1)pp-ddataa=i(2)pp-nnextt=NUULL(3)qq-nnextt=p(4)qq=p

7、2(1)hheadd=p(2)qq=p(3)pp-nnextt=NUULL(4)pp-nnextt=q-neext(5)qq-nnextt=p3(1)pp=q-neext(2)qq-nnextt=p-neext五、完成成:实验验1线性表表根据实验验要求(见见教材PP2011-2002)认认真完成成本实验验,并提提交实验验报告。作业2答答案一、单项项选择题题1C 22B 33A 4CC 5BB 6AA 7BB 8CC 9AA 110CC11BB 112CC 13B 144B 115AA 166C 177B 118AA 19C 20D 21BB 22D 233C 224BB 25D 266A 22

8、7CC 228DD 29D 30C 311A 332DD 二、填空空题1后进进先出2下一一个3增11 增14假上上溢5 栈是否否满 s-toop=MMAXSSIZEE-1 栈顶指指针 栈顶对对应的数数组元素素 栈是否否空 s-toop=-1 栈顶顶元素 修修改栈顶顶指针6bccedaa7终止止条件 递归归部分8LUU-ffronnt=LU-reear9运算算符 操作作数 abb+c/fdee/-10ss-nnextt=h; 11hh=h-neext; 12rr-nnextt=s; 13ff=f-neext;14字字符 15顺序存存储方式式 链链式存储储方式 160 空格字字符的个个数 17特殊

9、 稀稀疏 18() () 2 19(dd,e,f) 200串长长度相等等且对应应位置的的字符相相等 211i(i-1)/2+jj 22行下标标、列下下标、非非零元素素值三、问答答题1简述述栈和一一般线性性表的区区别。答:栈是是一种先先进后出出的线性性表,栈栈的插入入和删除除操作都都只能在在栈顶进进行,而而一般的的线性表表可以在在线性表表的任何何位置进进行插入入和删除除操作。2简述述队列和和一般线线性表的的区别。队列是一一种先进进先出的的线性表表,队列列的插入入只能在在队尾进进行,队队列的删删除只能能在队头头进行,而而一般的的线性表表可以在在线性表表的任何何位置进进行插入入和删除除操作。3链栈栈

10、中为何何不设头头结点?答:因为为链栈只只在链头头插入和和删除结结点,不不可能在在链表中中间插入入和删除除结点,算算法实现现很简单单,所以以一般不不设置头头结点。4利用用一个栈栈,则:(1)如如果输入入序列由由A,BB,C组组成,试试给出全全部可能能的输出出序列和和不可能能的输出出序列。(2)如如果输入入序列由由A,BB,C,DD组成,试试给出全全部可能能的输出出序列和和不可能能的输出出序列。答:(1)栈栈的操作作特点是是后进先先出,因因此输出出序列有有:A入,AA出,BB入,BB出,CC入C出出,输出出序列为为ABCC。A入,AA出,BB入,CC入,CC出,BB出,输输出序列列为ACCB。A入

11、,BB入,BB出,AA出,CC入,CC出,输输出序列列为BAAC。A入,BB入,BB出,CC入,CC出,AA出,输输出序列列为BCCA。A入,BB入,CC入,CC出,BB出,AA出,输输出序列列为CBBA。由A,BB,C组组成的数数据项,除除上述五五个不同同的组合合外,还还有一个个C,AA,B组组合。但但不可能能先把CC出栈,再再把A出出栈,(AA不在栈栈顶位置置),最最后把BB出栈,所所以序列列CABB不可能能由输入入序列AA,B,CC 通过过栈得到到。(2)按按照上述述方法,可可能的输输出序列列有:ABCDD,ABBDC,AACBDD,ACCDB,AADCBB,BAACD,BBADCC,B

12、CCAD,BBCDAA,BDDCA,CCBADD,CBBDA,CCDBAA,DCCBA。不可能的的输出序序列有:DABCC,ADDBC,DDACBB,DBBAC,BBDACC,DBBCA,DDCABB,CDDAB,CCADBB,CAABD5用SS表示入入栈操作作,X表表示出栈栈操作,若若元素入入栈顺序序为12234,为为了得到到13442出栈栈顺序,相相应的SS和X操操作串是是什么?答:应是是SXSSSXSSXX。各各操作结结果如下下:S 1入栈栈X 1出栈栈 输输出序列列:1S 2入栈栈S 3入栈栈X 3出栈栈 输输出序列列:133S 4入栈栈 X 4出栈栈 输输出序列列:1334X 2出栈

13、栈 输输出序列列:13342 6有55个元素素,其入入栈次序序为:AA、B、CC、D、EE,在各各种可能能的出栈栈次序中中,以元元素C、DD最先的的次序有有哪几个个?答:从题题中可知知,要使使C第一一个且DD第二个个出栈,应应是A入入栈,BB入栈,CC入栈,CC出栈,DD入栈。之之后可以以有以下下几种情情况:(1)BB出栈,AA出栈,EE入栈,EE出栈,输输出序列列为:CCDBAAE。(2)BB出栈,EE入栈,EE出栈,AA 出栈栈,输出出序列为为CDBBEA。(3)EE入栈,EE出栈,BB出栈,AA出栈,输输出序列列为CDDEBAA所以可能能的次序序有:CCDBAAE,CCDBEEA,CCDEBBA7写出出以下运运算式的的后缀算算术运算算式 3xx2+xx-1/x+55 (AA+B)*C-D/(E+FF)+GG答;对应应的后缀缀算术运运算式 3xx2*x+11x/-5+ ABB+C*DEFF+/-G+8 简简述广义义表和线线性表的的区别和和联系。答:广义义表是线线性表的的的推广广,它也也是n(n00)个元元素a11 ,aa2ai an的有限限序列,其其中ai或者是是原子或或者是一一个广义义表。所所以,广广义表是是一种递递归数据据结构,而而线性表表没有这这种特性性,线性性表可以以看成广广义表的的特殊情情况,当当ai都是原原子时,广广

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号