数据结构复习题2013新版..doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构各章复习资料 PAGE 数据结构 复习参考题资料 计算机科学与技术专业 2013.7 第一章 绪论 一、选择题: 1、在数据结构的讨论中把数据结构从逻辑上分为( C )。 A、内部结构与外部结构 B、静态结构与动态结构 C、线性结构与非线性结构    D、紧凑结构与非紧凑结构 2、下面程序段的时间复杂度为( C )。 for(int i=0;im;i++) for(int j=0;jn;j++) a[i][j]=i*j; A、O(m2) B、O(n2) C、O(m*n) D、O(m+n) 3、执行下面程序段时,执行S语句的次数为( D )。 for(int i=1;i=n;i++) for(int j=1; j=i;j++) S; A、n2 B、n2/2 C、n(n+1) D、n(n+1)/2 4、某算法的时间代价为T(n)=100n+10nLog2n+n2+10,其时间复杂度为(C)。 A、O(n) B、O(nlog2n) C、 O(n2) D 、O(1) 二、填空题 1、数据结构的抽象数据类型ADT可用三元组表示(D,S,P),其中D是(数据对象),S是( 关系集 ),P是( 操作集 )。 2、数据的基本单位是( 数据元素 ),最小单位是( 数据项 )。 3、一个算法的时间复杂性通常用它的( T(n)=O(F(n)) )形式表示,当一个算法的时间复杂性与问题的规模n大小无关时,则表示为( O(1) );成正比时,则表示为( O(n) ) ;成对数关系时,则表示为(O(log2n) );成平方关系时,则表示为( O(n2) )。 4、我们常常称数据的逻辑结构为数据结构,数据的逻辑结构有两类:(线性结构), (非线性结构 )。 5、一个算法应该具有(有穷性)、(确定性)、(可行性 )、( 零个或多个输入 )、(一个或多个输出 )五个特征。 6、数据结构中的逻辑结构具体分为四种分别是(线性结构)(树型结构)(图或网型结构)(集合)。 7、数据结构中的存储结构具体分为二种分别是(顺序存储结构)(链式存储结构)。 三、简答题 1、比较顺序存储结构和链式存储结构的优缺点? 参考答案: 1)顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配。 它的优点是:   (1)方法简单,各种高级语言中都有数组,容易实现。   (2)不用为表示节点间的逻辑关系而增加额外的存储开销。   (3)顺序表具有按元素序号随机访问的特点。 缺点:   (1)在顺序表中做插入、删除操作时,平均移动表中的一半元素,因此对n较大的顺序表效率低。   (2)需要预先分配足够大的存储空间,估计过大,可能会导致顺序表后部大量闲置;预先分配过小,又会造成溢出。 2)在链表中逻辑上相邻的数据元素,物理存储位置不一定相邻,它使用指针实现元素之间的逻辑关系。并且,链表的存储空间是动态分配的。 链表的最大特点是:   插入、删除运算方便。 缺点:   (1)要占用额外的存储空间存储元素之间的关系,存储密度降低。存储密度是指一个节点中数据元素所占的存储单元和整个节点所占的存储单元之比。   (2)链表不是一种随机存储结构,不能随机存取元素。 3)顺序表与链表的优缺点切好相反,那么在实践应用中怎样选取存储结构呢?通常有以下几点考虑:   (1)顺序表的存储空间是静态分配的,在程序执行之前必须明确规定它的存储规模,也就是说事先对“MaxSize”要有合适的设定,设定过大会造成存储空间的浪费,过小造成溢出。因此,当对线性表的长度或存储规模难以估计时,不宜采用顺序表。然而,链表的动态分配则可以克服这个缺点。链表不需要预留存储空间,也不需要知道表长如何变化,只要内存空间尚有空闲,就可以再程序运行时随时地动态分配空间,不需要时还可以动态回收。因此,当线性表的长度变化较大或者难以估计其存储规模时,宜采用动态链表作为存储结构。   但在链表中,除数据域外海需要在每个节点上附加指针。如果节点的数据占据的空间小,则链表的结构性开销就占去了整个存储空间的大部分。当顺序表被填满时,则没有结构开销。在这种情况下,顺序表的空间效率更高。由于设置指针域额外地开销了一定的存储空间,从存储密度的角度来讲,链表的存储密度小于1.因此,当线性表的长度变化不大而且事先容易确定其大小时,为节省存储空间,则采用顺序表作为存储结构比较适宜。   (2)基于运算的考虑(时间)   顺序存储是一种随机存取的结构,而链表则是

文档评论(0)

586334000 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档