中央电大数据结构复习题综合复习资料.docxVIP

中央电大数据结构复习题综合复习资料.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

电大数据结构复核习题(简答题)

简述数据的逻辑结构和存储结构的区别与联络,它们如何影响算法的设计与实现?

答:若用结点表达某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。数据在计算机中的存储表达称为数据的存储结构.可见,数据的逻辑结构是反映数据之间的固关于系,而数据的存储结构是数据在计算机中的存储表达。尽管因采取的存储结构不一样,逻辑上相邻的结点,其物理地址未必相同,但可经过结点的内部信息,找到其相邻的结点,从而保存了逻辑结构的特点.采取的存储结构不一样,对数据的操作在灵活性,算法复杂度等方面差异较大.

解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺陷。

答:顺序结构存储时,相邻数据元素的存储地址也相邻,即逻辑结构和存储结构是统一的,,规定内存中存储单元的地址必须是连续的。优点:通常情况下,存储密度大,存储空间运用率高。缺陷:(1)在做插入和删除操作时,需移动大量元素;(2)因为难以估量,必须预先分派较大的空间,往往使存储空间不能得到充分运用;(3)表的容量难以扩充。

链式结构存储时,相邻数据元素可随意存储,所占空间分为两部分,一部分存储结点值,另一部分存储表达结点间关系的指针.优点:插入和删除元素时很以便,使用灵活。缺陷:存储密度小,存储空间运用率低.

什么情况下用顺序表比链表好?

答:顺序表适于做查找这么的静态操作,链表适于做插入和删除这么的动态操作。假如线性表的变化长度变化不大,且其重要操作是查找,则采取顺序表;假如线性表的长度变化较大,且其重要操作是插入、删除操作,则采取链表.

解释头结点、第一个结点(或称首元结点)、头指针这三个概念的区别?

答:头结点是在链表的开始结点之前附加的一个结点;第一个结点(或称首元结点)是链表中存储第一个数据元素的结点;头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针。

解释带头结点的单链表和不带头结点的单链表的区别.

答:带头结点的单链表和不带头结点的单链表的区别重要体现在其结构上和算法操作上。

在结构上,带头结点的单链表,不管链表是否为空,均含有一个头结点,不带头结点的单链表不含头结点。

在操作上,带头结点的单链表的初始化为申请一个头结点。不论插入或删除的位置是地第一个结点还是其余结点,算法环节都相同。不带头结点的单链表,其算法环节要分别考虑插入或删除的位置是第一个结点还是其余结点.因为两种情况的算法环节不一样.

与单链表相比,双向循环链表有哪些优点?

答:双向循环链表设立了指向前驱和后继的指针,所用的地址空间增加,以空间复杂度代价换取时间复杂度的提高。双向循环链表可以从任一结点开始遍历整个链表。在动态内存管理中,应用双向循环链表可以从上次查找过的结点开始继续查找可用结点,而单链表却每次都需要从表头开始查找。相比之下,双向循环链表的时间效率更高.

简述栈和通常线性表的区别。

答:栈是一个先进后出的线性表,栈的插入和删除操作都只能在栈顶进行,而通常的线性表可以在线性表的任何位置进行插入和删除操作.

简述队列和通常线性表的区别。

答:队列是一个先进先出的线性表,队列的插入只能在队尾进行,队列的删除只能在队头进行,而通常的线性表可以在线性表的任何位置进行插入和删除操作.

链栈中为什么不设头结点?

答:因为链栈只在链头插入和删除结点,不可能在链表中间插入和删除结点,算法实现很简朴,所以通常不设立头结点。

运用一个栈,则:

(1)假如输入序列由A,B,C构成,试給出全部可能的输出序列和不可能的输出序列。

(2)假如输入序列由A,B,C,D构成,试給出全部可能的输出序列和不可能的输出序列.

答:(1)栈的操作特点是后进先出,所以输出序列有:

A入,A出,B入,B出,C入C出,输出序列为ABC.

A入,A出,B入,C入,C出,B出,输出序列为ACB.

A入,B入,B出,A出,C入,C出,输出序列为BAC。

A入,B入,B出,C入,C出,A出,输出序列为BCA。

A入,B入,C入,C出,B出,A出,输出序列为CBA。

由A,B,C构成的数据项,除上述五个不一样的组合外,还有一个C,A,B组合。但不可能先把C出栈,再把A出栈,(A不在栈顶位置),最终把B出栈,所以序列CAB不可能由输入序列A,B,C经过栈得到。

(2)按照上述方法,可能的输出序列有:ABCD,ABDC,ACBD,ACDB,ADCB,BACD,BADC,BCAD,BCDA,BDCA,CBAD,CBDA,CDBA,DCBA。不可能的输出序列有:DABC,ADBC,DACB,DBAC,BDAC,DBCA,DCAB,CDAB,CADB,CABD

用S表达入栈操作,X表达出栈操作,若元素入栈顺序为1234,为了得到1342出栈顺序,相应的S和X操作串是什么?

答:应是SXSSXS

文档评论(0)

181****8523 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档