《数据结构》实验指导书

《数据结构》实验指导书

ID:12431250

大小:213.00 KB

页数:21页

时间:2018-07-17

《数据结构》实验指导书_第1页
《数据结构》实验指导书_第2页
《数据结构》实验指导书_第3页
《数据结构》实验指导书_第4页
《数据结构》实验指导书_第5页
资源描述:

《《数据结构》实验指导书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《数据结构》实验指导书计算机与软件学院2014年9月21概述实习目的和要求《数据结构》在计算机科学中是一门实践性较强的专业基础课,上机实习是对学生的一种全面综合训练,是与课堂听讲、自习和练习相辅相成的必不可少的一个教学环节。实习着眼于原理与应用的结合,使学生学会把学到的知识用于解决实际问题,起到深化理解和灵活掌握教学内容的目的。同时,通过本课程的上机实习,使学生在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。实习包括的步骤1.简要描述题目要求,对问题的描述应避开算法及所涉及的数据类型,只是对所需完成的任务做出明确的陈述,例如输入数据的类型、值

2、的范围以及输入的形式,输出数据的类型、值的范围以及输出的形式。2.选定数据结构,写出算法,根据自顶向下发展算法的方法,首先描述算法的基本思想,然后进行算法细化,再对所设计的算法的时间复杂性和空间复杂性进行简单分析。3.准备好上机所需的程序,选定一种程序设计语言(如C语言),手工编好上机程序,并进行反复检查,使程序中的逻辑错误和语法错误减少到最低程度。对程序中有疑问的地方,应做出标记,以便在上机时给予注意。4.上机输入和调试程序,在调试程序过程中除了系统的问题以外,一般应自己独立解决。在程序调试通过后,打印输出程序清单和运行结果。5.上机结束后,总结和整理实习报告。实习

3、报告的内容1.简述题目要解决的问题是什么,并说明输入和输出数据的形式。2.简述存储结构和算法的基本思想。211.列出调试通过的源程序。2.列出上面程序对应的运行结果。3.分析程序的优缺点、时空性能以及改进思想,写出心得体会。实验一线性表一.目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。二.例题[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。[输入]初始字符串,插入位

4、置,插入字符,删除字符。[输出]已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。[参考源程序]#defineNULL0typedefstructnod

5、e{chara;structnode*link;}node,*nodelink;voidreadlink(nodelinkhead){nodelinkp,q;21charc;p=head;printf("Inputalinktable(astring):");scanf("%c",&c);if(c=='')printf("Thisstringisempty。");while(c!=''){q=(nodelink)malloc(sizeof(node));q->a=c;p->link=q;p=q;scanf("%c",&c);}p->link=NULL;}voi

6、dwritelink(nodelinkhead){nodelinkq;if(head->link==NULL)printf("Thislinkisempty。");for(q=head->link;q;q=q->link)printf("%c",q->a);printf("");}intinsert(nodelinkhead,chark1,chark2){nodelinkp,q;p=head->link;while(p->a!=k1&&p)p=p->link;if(p){q=(nodelink)malloc(sizeof(node));q->a=k2;q->l

7、ink=p->link;p->link=q;return1;}else{printf("Thereisno%c",k1);return0;}21}intdelete(nodelinkhead,chark){nodelinkp,q;q=head;p=head->link;while(((p->a)!=k)&&p){q=q->link;p=p->link;}if(p){q->link=p->link;return1;}else{printf("Thereisno%c",k);return0;}}voidopside(nodelinkhead){n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。