欢迎来到天天文库
浏览记录
ID:13820914
大小:213.50 KB
页数:22页
时间:2018-07-24
《耿版数据结构课后作业参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构课后作业参考答案浙江工商大学信电学院1概论1.1.1什么是数据结构?答:按照某种逻辑关系组织起来的一批数据,按一定的映象方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做数据结构。1.1.2叙述四类基本数据结构的名称和含义。答:1、集合结构:结构中的数据元素除了同属于一个集合之外无其它任何关系;2、线性结构:结构中的数据元素之间存在着一对一的线性关系;3、树形结构:结构中的数据元素之间存在着一对多的层次关系;4、图状关系:结构中的数据元素之间存在着多对多的任意关系。1.1.3叙述算法的定义和特性。答:算法是规则
2、的有限集合,是为了解决特定问题而规定的一系列操作。算法具备以下特性:有限性、确定性、零或多个输入、一或多个输出、可行性。1.1.4叙述算法的时间复杂度。答:算法的时间复杂度是指算法执行时间的增长率随着问题规模的增大在数量级上的变化趋势。1.1.5叙述数据类型的概念。答:数据类型是指一组性质相同的值集合以及定义在该值集合上的一组操作的总称。1.1.6叙述线性结构与非线性结构的差别。答:数据元素之间存在一对一线性关系的结构为线性结构;存在一对多或者多对多关系的称为非线性关系。1.1.7叙述面向对象程序设计语言的特点。答:在面向对象程序设计语言中,
3、借助对象描述抽象数据类型,存储结构的说明和操作函数的说明被封装在一个整体结构中。该整体结构被称为类,而属于某个类的具体变量被称为对象。1.1.8在面向对象程序设计中,类的作用是什么?答:类的概念与操作密切相关,同一种数据类型和不同操作组将组成不同的数据类型,结构说明和过程说明被统一在一个整体对象之中。其中数据结构的定义为对象的属性域,过程或函数定义在对象中,称为方法,是对对象的性能描述。1.1.9叙述参数传递的主要方式及特点。答:参数表中的参数分为两种:第一种参数只为操作提供待处理数据,又称值参;第二种参数既能为操作提供待处理数据,也能返回操
4、作结果,也称变量参数。1.1.10叙述抽象数据类型的概念。答:抽象数据类型是指基于一类逻辑关系的数据类型以及定义在该类型之上的一组操作。数据类型的定义取决于客观存在的一组逻辑特性,而与其在计算机内部如何表示及实现无关。1.3计算下列程序段中x=x+1的语句频度。答:O()=O(n3)1线性表2.1描述以下三个概念的区别:头指针,头结点,首元素结点。头指针:在一个链表中,称指向表头结点的指针为头指针。原因:由于单链表中每个结点的存储地址是存放在其前趋结点的指针域中的,而第一个结点无前趋,因而应设一个头指针H指向第一个结点。头结点:链表中不存放实
5、际数据的表头结点称为头结点。原因:通过增加头结点,使得在插入(删除)结点到链表时,i=1和i>1时的操作保持一致,从而简化算法。首元素结点:链表中存放实际数据的第一个结点。2.2(1) 在顺序表中插入或删除一个元素,需要平均移动__一半__元素,具体移动的元素个数与__插入或删除的位置__有关。(2) 在顺序表中,逻辑上相邻的元素,其物理位置___/___相邻。在单链表中,逻辑上相邻的元素,其物理位置__不一定_相邻。(3) 在带头结点的非空单链表中,头结点的存储位置由__头指针__指示,首元素结点的存储位置由__头结点的next域__指示,
6、除首元素结点外,其它任一元素结点的存储位置由__其直接前趋的next域__指示。补充题:建立学生成绩单链表,实现对它的记录的遍历、插入和删除#include#include#include#includestructstudent{intnum;/*学号*/floatscore;/*成绩*/structstudent*next;/*指针域*/};#defineLENsizeof(structstudent)structstudent*create()/*此函数返回一个
7、指向链表的头结点*/{structstudent*head;/*指向student类型变量的指针head为头指针*/structstudent*p,*tail;/*tail指向链表末尾元素,p指向新分配的结点*/floattemp;/*临时数据变量*/head=NULL;do{p=(structstudent*)malloc(sizeof(structstudent));/*分配新结点*/printf("NumberScore:");fflush(stdin);/*清除输入缓冲区*/scanf("%d%f",&p->num,&temp);if
8、(p->num==0){free(p);break;};p->score=temp;/*取得结点数据*/p->next=NULL;if(head==NULL){he
此文档下载收益归作者所有