- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课后作业参考答案-上一级-浙江工商大学
数据结构课后作业参考答案
浙江工商大学信电学院
概论
1.1 填空题
(1)简述数据结构含义?
答:数据元素之间存在的特定结构关系(逻辑关系或存储关系)。
(2)简述四类基本数据结构的名称和含义。
答:1、集合结构:结构中的数据元素除了同属于一个集合之外无其它任何关系;2、线性结构:结构中的数据元素之间存在着一对一的线性关系;3、树形结构:结构中的数据元素之间存在着一对多的层次关系;4、图状/网状结构:结构中的数据元素之间存在着多对多的任意关系。
(3)简述算法的时间复杂度。
答:算法的时间复杂度是指算法执行时间的增长率随着问题规模的增大在数量级上的变化趋势。
常见错误:没有说明是变化趋势或渐进量
(4)简述数据类型的概念。
答:数据类型是指一组性质相同的值集合以及定义在该值集合上的一组操作的总称。
(5)简述线性结构与非线性结构的差别。
答:数据元素之间存在一对一线性关系的结构为线性结构;存在一对多或者多对多关系的称为非线性关系。
(6)简述结构化程序设计的含义、目的、构成、方法。
答:结构化程序设计含义/方法是:
“自顶向下逐步求精程序设计时,应先考虑总体,后考虑细节,先考虑全局目标,后考虑局部目标就是隐藏信息子类具有派生它的类的全部属性 (数据) 和方法,而根据某一类建立的对象也都具有该类的全部指名字,执行的操作,实现“一个接口,多种方法”。容易维护,容易理解和重复使用附带说明:时间复杂度是O(n3)
常见错误:没有中间结果
线性表
2.1 填空题
(1)?在顺序表中插入或删除一个元素,需要平均移动__一半__元素,具体移动的元素个数与__插入或删除的位置__有关。()?顺序表中,逻辑上相邻的元素,其物理位置__相邻。在单链表中,逻辑上相邻的元素,其物理位置___相邻。
()?在带头结点的非空单链表中,头结点的存储位置由____指示,首元素结点的存储位置由____指示,除首元素结点外,其它任一元素结点的存储位置由__其直接前的next域__指示。头指针,头结点,首元素结点。H指向第一个结点。
头结点:链表中不存放实际数据的表头结点称为头结点。原因:通过增加头结点,使得在插入(删除)结点到链表时,i=1和i1时的操作保持一致,从而简化算法。
首元素结点:链表中存放实际数据的第一个结点。
补充题:建立学生成绩单链表,实现对它的记录的遍历、插入和删除
#includemalloc.h
#includestdio.h
#includestring.h
#includeconio.h
struct student
{
int num; /*学号*/
float score; /*成绩*/
struct student *next; /*指针域*/
};
#define LEN sizeof(struct student)
struct student *create() /*此函数返回一个指向链表表头结点的指针*/
{
struct student *head; /*指向student类型变量的指针head为头指针*/
struct student *p,*tail; /*tail指向链表末尾元素,p指向新分配的结点*/
float temp; /*临时数据变量*/
head=NULL;
do
{
p=(struct student *)malloc(sizeof(struct student));/*分配新结点*/
printf(Number Score:);
fflush(stdin); /*清除输入缓冲区*/
scanf(%d %f,p-num,temp);
if(p-num==0)
{
free(p);
break;
};
p-score=temp; /*取得结点数据*/
p-next=NULL;
if(head==NULL)
{
head=p;
tail=p;
}
else
{
tail-next=p;
tail=p; /*指向尾结点*/
}
}while(p-num!=0);
return(head);
}
void display(struct student *head)
{
struct student *p;
p=head;
while(p!=NULL)
{
printf(%4d %5.1f\n,p-num,p-score);
p=p-next;
}
}
struct stu
文档评论(0)