数据结构老师给的复习要点(严蔚敏版).docVIP

数据结构老师给的复习要点(严蔚敏版).doc

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

第一章 1. 怎样理解“算法+数据结构=程序”这个公式?举例说明。 算法是语句序列解决特定问题的固有程序片段。数据结构是确定数据间的关系。从具体问题抽象出一个合适的数学模型、然后设计一个解决此数学模型的算法,最后编写出程序。寻求数学模型的是指就是数据结构要完成的工作。参看书p1前两段的描述。 2. 数据结构的概念,它包含哪三方面的内容? 数据结构:是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间饿关系和操作的学科。参看书p3 包含三方面的内容:1、数据之间的逻辑关系2、数据在计算机中的存储方式3、在数据上定义的运算的集合。 3. 数据、数据元素、数据项的基本概念。举例说明数据元素和数据项的联系与区别。 数据:描述客观事物的数字、字符以及所有能直接输入到计算机中并被计算机程序处理的符号的集合。 数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑或处理。 数据项:数据项是具有独立含义的最小标识单位,是数据元的一个具体值,是数据记录中最基本的、不可分的有名数据单位。 例1: class A { int c[123]; int i; }; class B { A a; } B b; b.a是数据项,B是数据元素 例2:一本书的数目信息为一个数据元素,而数目信息中每一项(如书名、作者名等)为一个数据项 4. 从逻辑结构来看,数据结构有哪四种基本结构,各自的特点是什么? 1、集合(数据元素之间同属于一个集合,再无其他关系) 2、线性结构(数据元素之间存在一对一的关系) 3、树形结构(数据元素之间一对多的关系) 4、图状结构或网状结构(数据元素之间多对多的关系) 5. 从物理结构来看,数据结构有哪两种基本结构,各自的特点是什么? 1、顺序存储结构 特点:借助元素在存储器中的相应位置来表示数据元素之间的逻辑关系。 2、链式存储结构 特定:借助元素在存储地址的指针表示数据元素之间的逻辑关系。 6. 算法的5个特征,4个评价标准是什么? 特征:有穷性、确定性、可行性、输入、输出。 评价标准:正确性、可读性、健壮性、效率与低存储量需求。 7. 描述时间复杂度。 (1)?x=0; y=0; z=0; for (i=1; i=n; i++) ??? { x++; ?????? for( j=1; j=n; j++) ?? ? {?y++; ??????????for( k=0; k=(2*n); k++ ) ?????????? z++; ??? ??? } ??? } 程序片段中语句x=0、x++、 y++、z++的时间复杂度和整段程序的时间复杂度。 O(1) O(n) O(n^2) O(n^3) O(n^3) 第二章 线性表 1. 描述线性结构的特点。 2. 判断对错,并解释说明。 (1)线性表中的数据元素可以是各种各样的,但同一线性表中的元素一定具有相同特性。( (2)线性表采用顺序存储表示时,必须占用一片连续的存储单元。( (3)线性表采用链式存储表示时,不能占用一片连续的存储单元。( 3. 顺序表的第一个元素的存储地址是101,每个元素的长度为3,计算出第6个元素的存储地址是多少? LOC(a6)=LOC(a1)+5*L=101+5*3=116 4. 长度为n的顺序表中,在第i个元素前插入一个新元素时,需要移动多少个元素?插入算法的平均移动次数是多少,时间复杂度是什么? 参看书P24~25,需要移动n-i+1个元素,平均移动次数为n/2,时间复杂度是O(n) 5. 长度为n的顺序表中,将第i个元素删除时,需要移动多少个元素?删除算法的平均移动次数是多少,时间复杂度是什么? 参看书P24~25,需要移动n-i个元素,平均移动次数为(n-1)/2,时间复杂度是O(n) 6.线性链表的存储特点是?单链表中的结点由哪两部分构成,画图说明。 7. 在一个单链表中,q所指结点是p所指结点的直接前驱结点,若在q与p之间插入一个s所指的结点,写出执行的两条语句(提示:先链接、后断开)。 s-next=p; q-next=s; 或者s-next=q-next; q-next=s; 8. 在单链表中,w所指结点是s所指结点的直接前驱结点删除s结点,写出执行的两条语句。 w-next=s-next;free(s) 9. 画图说明单循环链表为空的状态,并写出循环链表判断是否为空的语句。 参看书P35图2.12(b) 判空语句H-next=H 10. 双向链表中,要在指针q指向的结点后插入新结点t,写出执行的四条语句。 t-prior=q ; t-next=q-next ; q-next=t ; t-next-prior=s 11. 双向链表中,要删除指针q的后继结点,写出执行的两条语句

文档评论(0)

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

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

1亿VIP精品文档

相关文档