第7章习题考答.docVIP

  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文档。上传文档
查看更多
第7章习题 1.简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构和存储结构。 答:数据是信息的载体,它能够被计算机识别、存储和加工处理,是计算机程序加工的“原料”。数据元素是数据的基本单位。在不同的条件下,数据元素又可称为元素、结点、顶点和记录等。数据类型是一个值的集合和定义在这个值集上的一组操作的总称。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 数据结构包括逻辑结构、存储结构和数据运算三方面的内容,其中数据的逻辑结构由某一数据对象及该对象中所有数据成员之间的关系组成。存储结构是指在计算机中的存储器内如何表示数据元素之间的关系。 2.基本的存储表示方法有哪几种? 答:基本的存储表示方法有顺序方法和链接方法。顺序方法是借助元素在存储器中的相对位置来表示数据元素间的逻辑关系。链接方法是借助指示元素存储地址的指针表示数据元素间的逻辑关系。 3.简述链表的定义和特点。 答:链接方式存储的线性表简称为链表,链表中的结点包含数据域和存放指向其它结点的指针域。 链表具有以下几个特点: 1)用一组任意的存储单元存储线性表的数据元素; 2)利用指针实现了用不相邻的存储单元存放逻辑上相邻的元素; 3)结点包含数据域(元素本身信息)和指针域(指示其它结点的存储位置)。 4.什么是单链表?其结点结构是什么? 答:单链表中的结点包含数据域和存放其后继地址的指针域,这些结点通过指针域连接起来就构成了单链表。其结点结构包括两个域:数据域和指针域。其中数据域为存放结点的值;指针域为存放结点的直接后继结点地址。 80 4 3 10 40 55 60 6 8 20 99 5. 在线性表中采用顺序检索,要找到下列值是否在列表中,需要比较次数是多少? (1) 4 (2) 40 (3) 99 (4) 60 答:(1)2 (2)5 (3)11 (4)7 3 4 6 8 10 20 40 55 60 80 99 6.在有序表 上利用二分检索,要找到下列值是否在列表中,需要比较次数是多少? (1) 4 (2) 40 (3) 99 (4) 60 答:(1) 4 (2) 3 (3) 4 (4) 2 7.将元素加到数组中或加到链表中,哪一种操作比较简单?说明理由。 答:数组中的数据在内存中的按顺序存储的,而链表是随机存储的。在数组中进行插入操作的话,需要移动很多元素,所以对数组进行插入操作效率很低,操作复杂些。由于链表是随机存储的,插入操作只需修改指针,链表在插入、删除操作上有很高的效率(相对数组),操作比较简单。 8.循环队列的优点是什么?如何判别它的空和满? 答:循环队列的优点是:充分利用向量空间,克服了“假溢出”现象。 判别循环队列空和满的情况: 方法1:少用一个元素空间,则队空时:front=rear; 队满时:(rear+1)%maxisize=front; 方法2: 另设一个标志位以区别队列是“空”还是“满”。 9.什么是堆栈?它是如何实现的? 答:堆栈是限定仅在表尾进行插入和删除运算的一种特殊的线性表,又称为后进先出表。栈既可以用数组实现,也可以用链表实现,通常是采用链表,因为在链表中进栈和出栈更容易实现。栈的链式存储结构称为链栈,栈的顺序存储结构简称为顺序栈。因为栈的插入和删除操作都在栈顶进行,所以需一指针指向栈顶,该指针称为栈顶指针。在链栈中的插入和删除操作都在链表的表头进行,所以栈顶指针即为链表的头指针。 10.堆栈有哪些操作?举例说明堆栈的用途。 答:基本操作包括进栈和出栈。进栈就是把一个元素存入栈中,即在栈顶添加新的元素。出栈就是从栈中取出一个元素。使用堆栈可以解决很多问题,例如数制转换、括号匹配、迷宫问题求解等。 11.什么是队列?它和堆栈有什么区别? 答:队列是一种先进先出的表,即插入操作在表的一端(队尾)进行,而删除操作在表的另一端(队头)进行。队列限定在表的一端插入,另一端删除,处理时遵循先进先出原则。而堆栈限定在表尾进行插入和删除,处理时遵循后进先出原则。 12.队列有哪些操作?举例说明队列的用途。 答:基本操作有进队和出队。进队就是把一个元素存入队中,即在队尾添加新的元素。出队就是从队头取出一个元素。使用队列可以解决很多问题,例如火车车厢重排问题、调度问题等。 13.什么是树?二叉树有什么特点?特殊的二叉树有哪些?各有什么特点? 答:树是一

文档评论(0)

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

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

1亿VIP精品文档

相关文档