数据结构分析和总结.docxVIP

  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 章 绪论 习题 简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。 试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。 简述逻辑结构的四种基本关系并画出它们的关系图。 存储结构由哪两种基本的存储方法实现? 选择题 在数据结构中,从逻辑上可以把数据结构分成( )。 C.线性结构和非线性结构 与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。 C.逻辑结构 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )。 B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致 以下说法正确的是( )。 D.一些表面上很不相同的数据可以有相同的逻辑结构 以下与数据的存储结构无关的术语是( )。 C. 有序表 以下数据结构中,( ???? )是非线性数据结构 A.树 B.字符串 C.队 D.栈 试分析下面各程序段的时间复杂度。 (1)x=90; y=100; while(y0) if(x100) {x=x-10;y--;} else x++; (2)for (i=0; in; i++) for (j=0; jm; j++) a[i][j]=0; (3)s=0; for i=0; in; i++) for(j=0; jn; j++) s+=B[i][j]; sum=s; (4)i=1; while(i=n) i=i*3; (5)x=0; for(i=1; in; i++) for (j=1; j=n-i; j++) x++; (6)x=n; //n1 y=0; while(x≥(y+1)* (y+1)) y++ ; (1)O(1) (2)O(m*n) (3)O(n2) (4)O(log n) 3 (5)因为 x++共执行了 n-1+n-2+??+1= n(n-1)/2,所以执行时间为 O(n2) n(6)O( ) n 第 2 章 线性表 选择题 一个向量第一个元素的存储地址是100,每个元素的长度为 2,则第 5 个元素的地址是( )。 B.108 在n 个结点的顺序表中,算法的时间复杂度是O(1)的操作是( )。 A.访问第i 个结点(1≤i≤n)和求第i 个结点的直接前驱(2≤i≤n) 向一个有 127 个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动 的元素个数为( )。 B.63.5 链接存储的存储结构所占存储空间( )。 A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。 D.连续或不连续都可以 线性表L在( )情况下适用于使用链式结构实现。B.需不断对L进行删除插入 单链表的存储密度( )。 C.小于 1 将两个各有n 个元素的有序表归并成一个有序表,其最少的比较次数是( )。 A.n 在一个长度为n 的顺序表中,在第i 个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( )个元素。 B.n-i+1 线性表L=(a ,a ,??a ),下列说法正确的是( )。 1 2 n D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接 后继。 若指定有n 个元素的向量,则建立一个有序单链表的时间复杂性的量级是( )。 C.O(n2) 以下说法错误的是( )。 D.线性表的链式存储结构优于顺序存储结构 在单链表中,要将s 所指结点插入到p 所指结点之后,其语句应为( )。 D.s-next=p-next; p-next=s; 在双向链表存储结构中,删除p 所指的结点时须修改指针( )。 A.p-next-prior=p-prior; p-prior-next=p-next; 在双向循环链表中,在p 指针所指的结点后插入q 所指向的新结点,其修改指针的操作是( )。 C.q-prior=p; q-next=p-next; p-next-prior=q; p-next=q; 算法设计题 将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两 个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。 void MergeList_L(LinkList La,LinkList Lb,LinkList Lc){ pa=La-next; pb=Lb-next; Lc=pc=La; //用 La 的头结点作为Lc 的头结点while(pa pb){ if(pa-datapb-data){ pc-next=pa;pc=pa;pa=pa-next;} else if(pa-datapb-data) {pc-next=pb; pc=pb; pb=pb-next;} else {// 相等

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档