- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
据结构与算法大平台实验指导书doc
数据结构与算法实习指导书
上海交通大学电院数据结构大平台课程组
目录
关于实习步骤的要求和建议
上机实习
实习一 线性结构
实习二 树和二叉树
实习三 查找
实习四 图
实习报告样例
关于实习步骤的要求和建议
从以往的教学事先实习的经验来看,在初学阶段执行严格的实习步骤规范(包括上机操作规范),机时利用率会大大提高,有助于养成良好的程序编制风格,培养严谨、科学、高效的工作方式。
在以往的教学实践中,经常发现很多学生抱怨说,化了两个小时才找出一个错误,甚至一无所获。他们不明白造成这种情况的原因,正是他们自己。有的学生不屑于按实习步骤规范去做,甚至对于实习步骤的要求和建议看都不看一遍,认为那是浪费时间,这是及其害的。实习步骤规范不但可以培养科学化的工作作风,而且还能有效地避免错误。
具体的步骤机规范如下:
问题分析与系统的结构设计:
充分地分析和理解问题本身,弄清要求作什么,限制条件是什么。按照以数据结构为中心的原则划分模块,即定义数据结构及其在这些结构之上的操作,使得对数据结构的存取通过这些操作加以实现。在这个过程中,要综合考虑系统功能。要考虑系统结构清晰、合理、简单并且易于调试。最后写出每个子程序(过程或函数)的规格说明,列出它们之间的调用关系,可以使用调用关系图表示则更加清晰,这样便完成了系统结构设计。
详细设计和编码
详细设计的目的是对子程序(过程或函数)的进一步求精。用 IF 、WHILE和赋值语句等,以及自然语言写出算法的框架。利用自然语言的目的是避免陷入细节。在编码时,可以对详细设计的结果进一步求精,用高级语言表示出来。
程序的每一行最好不超过 60 个字符。每个子程序(或过程、函数)通常不要太长,以 40 行为宜。子程序(或过程、函数)包含的程序行数太多,易于造成理解的困难。控制 IF 、WHILE 等语句的连续嵌套的深度应加以控制。程序的目的性必须明确。对每一段程序完成的作用,除非常明显的除外(如:x = x + 1; 注释为 x 加 1,没有什么意义),都应加以注释。这会对程序的调试提供很多方便。另外,根据情况可以设立若干调试点,即输出若干信息,用于验证和你的设想是否一致。另外,对于输入输出语句,必须对它们的作用加以说明。否则,在调试程序时,无法了解系统需要输入什么,系统输出的又是什么。程序的书写,必须按照一定的规范,如保留字小写时涂黑等等。
上机准备和静态检查
上机准备:
高级语言文本
熟悉机器的用户手册,熟悉常用的命令。
准备调试的工具,考虑调试方案。如果机器上没有现成的调试工具可供利用,可以自己先设计一些以供使用。
静态检查
自己用一组数据手动执行程序;或同同学一起阅读自己的程序,以全面地了解该程序的逻辑。
上机调试程序
自底向上,先调试底层模块,再调试上层模块。最后,整个程序进行联调。调试正确后将源程序和运行结果加以列印输出。
实习报告的整理
需求及规格说明
问题描述,求解的问题是什么。
设计:
设计思想:存储结构、主要的算法思想。
设计表示:子程序(过程或函数)的规格说明,通过调用关系图表 示它们之间的调用关系。
实现注释:
详细设计表示:主要算法的框架。
用户手册:使用说明。
调试报告:问题是如何解决的,讨论与分析、改进设想、经验与体会、时空复杂度等。
附录
源程序清单和结果:源程序必须有注释,以及必要的测试数据和运行结果数据。提倡用英文描述。
实验报告要求:
在程序开发过程中,逐步形成各种必要的文档及资料。可以写在实验报告纸上,或以电子文档的形式进行书写。
上机实习
以下的实习题目配合课程的进度,请同学们务必自己完成。为了锻炼自己的应用各种不同的数据结构的能力,尽可能的多作一些题目是非常必要的。在完成各种不同题目的过程中,对各种算法的时、空复杂性的分析,将帮助您在更高的角度解决各种应用问题。
为了减轻同学的负担,我们对同学的实习报告进行了精简。本实习报告中的题目分以下几种类型:
实习题:必须按照实习报告的规范完成。每个实习的第一题都是实习题,必须编写详细的实习报告。实习报告的书写方法,请参阅本指导书的第 3 部分:实习报告的样例。
作业题:同样必须完成。只需交代清楚题目的解法,辅以求解程序和注释,使得别人能够看懂你的算法和程序即可。不必象实习题那样书写完整的实习报告。
选作题:鼓励同学选作的题目,尤其是学有余力的同学。
以下为各次实习作业:
实习一 线性结构
1、(实习题) 请写出计算两个以 单链接表表示的多项式相乘的程序。
2、(作业题) 已
文档评论(0)