数据结构习题(无标准答案).docVIP

数据结构习题(无标准答案).doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  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章习题 一、选择题 1、下列关于算法的说法,正确的是 。 A.算法的可行性是指指令不能有二义性 B.算法最终必须由计算机程序实现 C.程序一定是算法 D.为解决某问题的算法与为该问题编写的程序含义是相同的 2、以下关于数据的存储结构的叙述中,正确的有 。 A.顺序存储方式只能用于存储线性结构 B.顺序存储方式的优点是存储密度大,且插入、删除运算效率高 C.链表的每个节点中都恰好包含一个指针 D.散列法存储的基本思想是由关键字的值决定数据的存储地址 E.散列表的节点只包含数据元素自身的信息,不包含任何指针 3、下列说法正确的是 。 A.数据元素是具有独立意义的最小标识单位 B.原子类型的值不可再分解 C.原子类型的值由若干个数据项值组成 D.结构类型的值不可以再分解 二、判断题 1、数据项是具有独立含义的最小标识单位。 2、数据的逻辑结构是指各数据元素之间的逻辑关系,与物理结构无关。 3、运算的定义依赖于逻辑结构,运算的实现也依赖于逻辑结构,而与存储结构无关。 4、数据结构是指相互之间存在一种或多种关系的数据元素的全体。 三、填空题 1、数据的逻辑结构被分为 、 、 、 四种。 2、当问题规模n趋向无穷大时,算法执行时间T(n)的数量级被称为算法的 。 3、时间复杂度在最好和最坏情况下分别是 和 。 4、通常从正确性、 、 及时空效率等四个方面评价算法的质量。 5、数据的存储结构主要有顺序存储、 、 和 四种。 四、算法设计 1、写一算法,从键盘输入若干个非0整数(以0作为结束标志),找出其中最大和最小的数,并分析算法的时间复杂度(输入数据不需保存)。 2、在数组A[1..n]中查找值为K的元素,若找到则输出其位置i(1≤i≤n),否则输出0作为没有找到的标志,并分析算法的时间复杂度。 第2章习题 一、选择题 1、线性表在链式存储中,各结点之间的地址是 。 A.必须连续 B.部分地址必须连续 C.不能连续 D.连续与否无所谓 2、对单链表表示法,以下说法错误的是 。 A.数据域用于存储线性表的一个数据元素 B.指针域用于存放直接后继结点的指针 C.所有数据通过指针的链接而组成单链表 D.单链表中各结点地址不可能连续 3、某线性表中最常用的操作是在最后一个元素之后插入一个数据和删除第一个元素,则采用 存储方式最节省运算时间。 A.单链表 B.仅有尾指针的单循环链表 C.双向链表 D.仅有头指针的单循环链表 4、线性表(a1,a2,....,an)以链式方式存储时,访问第i个元素的时间复杂性为 。 A.O(n) B.O(1) C.O(i) D.O(i-1) 二、判断题 1、顺序表可以用一维数组表示,因此顺序表与一维数组在结构上是一致的,可以通用。 2、顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。 3、链式存储结构中,访问任何结点都必须从表头开始。 4、循环链表可以在尾部设置头指针。 三、填空题 1、已知L是无表头结点的单链表,且P结点即不是首结点,也不是尾结点,试在下述要求中填上适合的语句序列。 (1)在P结点之后插入S结点语句序列 。 S-next=p-next;p-next=S; (2)在P结点之前插入S结点语句序列 。 pre=L;while(pre-next!=P) pre=pre-next;S-next=pre-next或P;pre-next=S; 2、已知P结点是某双向链表中的中间结点,请填空。 (1)在P结点之后插入S结点的语句序列 。 S-next=P-next; S-prior=P;P-next-prior=S;P-next=S; (2)删除P结点的直接后继结点的语句序列 。 Q-P-next;P-next=Q-next;Q-next-prior=P;free(Q); 四、算法设计 1、设L为带头结点的单链表,编写算法,删除链表中值相同的元素,并分析算法时间复杂性。假设单链表L元素递增有序。 2、已知递增有序的两个单链表A,B分别存储了一个集合。设计算法实现

文档评论(0)

solow + 关注
实名认证
文档贡献者

公共营养师持证人

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

领域认证该用户于2023年05月13日上传了公共营养师

1亿VIP精品文档

相关文档