数据结构与实训 张红霞 白桂梅 主编 习题答案.doc

数据结构与实训 张红霞 白桂梅 主编 习题答案.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与实训 张红霞 白桂梅 主编 习题答案

PAGE  PAGE 38 第1章 习题答案 1. 填空题 (1)在计算机中的存储映像(是逻辑结构在计算机中的实现或存储表示) 数据元素的表示 元素之间关系的表示 数据元素。 (2)已经实现 是一个概念 分离 分离 (3)时、空效率 指人对算法阅读理解的难易程度 对于非法的输入数据,算法能给出相应的响应,而不是产生不可预料的后果。 (4)软硬件环境 问题规模的 (5)最坏 (6)O(n4) O(n2) (7)时间复杂度 (8)n O(n2) 2. 判断题 (1)×(2)×(3)√(4)√(5)√(6)√(7)×(8)×(9)×(10)× 3. 简答题 (1)略(见教材第3页的1.2数据结构的基本概念) (2)(a)n-1, O(n) (b) n-1 , O(n) (c)11* n+1, O(n)(n为初始值100) (d) , O() (e) n , O(n) 第2章 习题及答案 1、填空题 (1)address+m*i (2)顺序 顺序 顺序 链式存储 链式存储 (3)亦相邻 不一定 (4)n-i+1 (5) 0≤i≤la的长度 -1≤j≤lb的长度-1 0≤k≤lc的长度-1 (6) 插入的位置,节点数n(顺序表长度n) (7)其前驱 O(n) O(1) (8)其前驱 O(n) O(1) (9)p→next=p→next →next (10)head→next==Null head==Null head→next==head head==Null (11)head→next=head→next→next head=head→next (12)x=p→prior→data; p→prior→data=p→next→data; p→next→data=x; (13)p==head→prior(或p→next==head) 2.判断题 (1)×(2)√(3)×(4)×(5)×(6)×(7)√(8)×(9)×(10)× 3.简答题 (1) 单向循环链表双向循环链表存储密度高低查找后继的时间复杂度O(1)O(1)查找前驱的时间复杂度O(n)O(1)(2)在带头结点的单链表上,查找指针p所指结点的前驱。 (3)交换指针p与指针q所指结点的值。 4.算法设计题 (1) void reverse(SeqList l) { for (i=0; i=(l.listlength-1)/2; i++) l.elem[i]—l.elem[l.listlength-1-i]; } (2) void delete(SeqList, int i, int k) /*从顺序表中删除自第i个元素开始的k个元素*/ { if (i0 || il.listlength-1|| k0) { printf(“Error”); return; } if (i+k=l.listlength) /*表中从i个元素起到最后一个元素有k个元素*/ { for ( j=i+k; jl.listlength; j++) l.elem[j-k]=l.elem[j]; l.listlengt=l.listlength-k; } else /*表中从i个元素起直到最后一个元素不足k个元素*/ l.listlength=i; } (3) void insert(LinkList h, ElementType x) /*将x插入到递增链表h中,插入后的链表有序性不变*/ { if (h→next==Null) /*空表时*/ { q=(linklist) malloc (sizeof(ListNode)); q→next=Null; q→data=x; h→next =q; } p1=h→next; p2=h; while (p1→next != Null p1→datax) { p2=p1; p1=p1→next; } if ( p1→next==Null p1→datax) { q=(linklist) malloc (sizeof(ListNode)); q→next=Null; q→data=x; p1→next=q; } else /* (p1→next==Null p1→data=x) || (p1→ne

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档