据结构与算法大平台实验指导书.doc-Basic-上海交通大学.docVIP

据结构与算法大平台实验指导书.doc-Basic-上海交通大学.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
据结构与算法大平台实验指导书.doc-Basic-上海交通大学

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

文档评论(0)

busuanzi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档