网站大量收购独家精品文档,联系QQ:2885784924

数据结构(C语言版)习题答案.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
111111111111111 数据结构(C语言版) 习题答案 (教师版) 淮北师范大学计算机科学与技术学院《数据结构》课程组 2011.8 目 录 习 题 1 1 一、简答题 1 二、计算以下算法的时间复杂度 1 三、算法设计题 1 习 题 2 3 一、单选题 3 二、算法设计题 3 习 题 3 6 一、单选题 6 二、填空题 6 三、简答题 6 四、算法设计题 6 习 题 4 8 一、单选题 8 二、填空题 8 三、简答题 8 习 题 5 9 一、填空题 9 二、解答题 9 三、算法设计题 11 习 题 6 13 一、解答题 13 二、算法设计题 17 习 题 7 20 一、填空题 20 二、解答题 21 三、算法设计题 24 习 题 8 28 一、单选题 28 二、填空题 28 三、解答题 28 四、算法设计题 32 习 题 1 一、简答题 1.数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 2.集合中,数据元素同属于一个集合,除此之外别无其它关系;线性结构中的数据元素之间存在一个对一个的关系;树形结构中的数据元素之间存在一个对多个的关系;图形结构中的数据元素之间存在多个对多个的关系。线性结构是树形结构的特例,树形结构是图形结构的特例。所有100以内的正整数是一个集合;某班级所有同学的学号是线性结构的;一个学校包含多个学院,每个学院多个系,每个系多个专业,是一种树形结构;全国内的中国银行各个分行构成图形结构。 3.顺序存储结构的优点是节省存储空间,因为不需要额外的存储空间来保存数据间的逻辑关系,可以进行随机访问;缺点是进行数据的插入和删除时可能需要移动大量的结点。链式存储结构的优点是在进行数据的插入和删除时,仅需修改指针,不需要移动结点;缺点是需要额外的存储空间来存储结点之间的逻辑关系。索引存储结构的优点是在进行插入和删除操作时,只需移动存储在索引表中对应结点的存储地址,而不必移动存放在结点表中结点的数据,因此保持了较高的数据修改运算效率;缺点是创建和维护索引表增加了时间和空间的开销。散列存储结构的优点是查找速度快,只要给出待查找的关键字,即可计算出该结点的存储地址。与上述三种方法不同的是,散列存储方式只适合要求对数据进行快速查找和输出的场合,其关键是要选择一个好的散列函数和处理“冲突”的方法。 4.抽象数据类型的定义:ADT 抽象数据类型名 { 数据对象:数据对象的定义 数据关系:数据关系的定义 基本操作:基本操作的定义 }ADT 抽象数据类型名 抽象数据类型较之一般数据类型抽象层次更高、定义范畴更广。抽象数据类型不再局限于计算机系统中已经实现的数据类型,可以是用户所定义的数据类型,它可以由计算机系统已经实现的数据类型来表示和实现。抽象数据类型必须先定义后使用,定义抽象数据类型只描述数据的逻辑结构及允许进行的操作,不考虑数据的物理存储及其操作的具体实现。 5.算法的基本特征是有穷性、确定性、可行性、输入、输出。算法的设计目标是正确性、可读性、健壮性(鲁棒性)和高效性。 二、计算以下算法的时间复杂度 1.O(n) 2.O(n2) 3.O(n) 三、算法设计题 1.#define M 10 void matrixadd(int n,int A[M][M],int B[M][M],int C[M][M]) { int i,j; for(i=0;in;i++) for(j=0;jn;j++) C[i][j]=A[i][j]+B[i][j]; } 2.#includestdio.h void main() { int a,i,min=0,max=0; for (i=1;i=10;i++) {scanf(“%d”,a); if(mina) min=a; if(maxa) max=a; } printf(“%d,%d”,min,max); } 习 题 2 一、单选题 1.A 2.C 3.C 4.D 5.B 6.B 7.B 8.D 9.A 10.B 二、算法设计题 1.算法如下: int Length_LinkList(LinkList L) { int l; //l记录L的表长 LNode *p; p=L; l=1; while(p-next) { p=p-next; l++; } return l; } 3.算法如下: void Insert_pre(LinkList *L,DataType x,DataType y) { LNode *s,*p; p=L-next; While(p-next-data!=yp-next!=NULL)//找到值y结点的直接前驱p p=p-next; s=(LinkList)

文档评论(0)

白领文档(原创) + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档