网站大量收购独家精品文档,联系QQ:2885784924

数据结构与算法应用课程设计.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法应用课程设计

数据结构与算法应用综合课程设计要求与指导 数据结构是一门实践性很强的课程,只靠读书和做习题是不能提高实践能力的,尤其是在数据结构中要解决的问题更接近于实际。所以要求学生在学习过程中,结合实际问题进行相应的课程设计与实践,自己分析问题、设计数据结构和算法,再编写代码上机调试和测试程序,以达到解决实际问题,培养数据结构的应用能力与实践能力。 课程设计的要求 1、熟练掌握各种数据结构的逻辑结构特性、存储结构与常用操作算法; 2、能分析课程设计的相应题目,结合理论学习考虑用一种或多种数据结构来解决问题; 3、能分析并设计在某种数据结构下解决问题的步骤即算法; 4、熟练掌握面向对象程序设计思想方法与编译系统的使用方法,能较好地编写程序实现数据结构与算法,解决实际问题 5、能较好地进行程序的静态检查与动态调试与测试 6、能按要求写好课程设计报告 课程设计的目的 1、深入理解和掌握书本上的理论知识,将书本上的知识变“活” 2、理论与实践相结合,学会如何把书本上的数据结构和算法的知识用于解决实际问题,培养数据结构的应用能力和软件工程所需要的实践能力 3、进行软件工作的规范训练,初次体会软件开发的一般简单过程 4、培养团队合作精神和良好的科学作风以及沟通能力 课程设计的工作步骤 1、明确课程设计小组构成与分工 每一小组由2人组成,各同学可自由组合。每小组选择后面课程设计备选题目中的一个,共同完成问题分析和任务定义、数据类型和系统设计后,2人协商分工进行程序设计与调试。每个同学必须有明确而又互不相同的工作任务,并保证工作量一致。在课程设计中还要注意两人的协调与合作。 2、问题分析和任务定义 首先充分分析和理解问题,明确问题要求做什么,限制条件是什么,即明确“做什么”。如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么,是否接受非法的输入,对非法输入的回答方式是什么等等 2、数据类型和系统设计 1)逻辑设计: 对问题描述中涉及的操作对象定义相应的数据类型,并定义主程序模块和各抽象数据类型,画出模块之间调用关系图 2)详细设计: 定义相应的存储结构(写出数据存储结构的类型定义)并写出各过程和函数的算法 3、3、编码实现和静态检查 1)编码实现: 把算法设计的结果用程序设计语言程序写出来。每个函数体,即不计首部和规格说明部分,一般不要超过40行,最长不得超过60行,否则应分成更小的函数。要控制IF语句连续嵌套的深度。 首先可以在一个程序文件中实现,然后做成头文件形式的软件模块,随着工作的积累,这些成熟的软件模块也会越来越丰富,当常用的数据结构都以抽象数据类型的形式实现以后,其他问题编程的工作也就会比较顺手了。抽象数据类型的实现作为头文件必须包含进工程文件。 2) 静态检查: 通过阅读或给别人讲解自己的程序深入全面理解程序逻辑,检查是否有明显错误,加入一些注释。可用简单的数据试人工运行程序,此时数据规模应比较小,而且考虑到各种情况,如空表、空二叉树、一个结点二叉树、两个结点二叉树等各种情况。应访遍程序的各条路径(即各分支的情况)。通过静态检查程序由于疏漏而产生的错误,也可为接下去的动态调试找到一种“程序感觉” 4、上机准备和上机调试 首先,应熟悉Microsoft Visual C++5.0/6.0的开发环境。 在运行时可能发生以下三种类型的错误:语法错误、连接错误、运行错误 前两种错误一般由系统提示指出,一般按语言的语法和系统的环境要求加以改正即可。 第三种错误与算法和程序有关,大致又有两种情况:一种是因为存储结构使用不当引起的,例如最常见的无效指针和数组下标越界等;另一种是纯粹的逻辑性错误,如程序不能正常终止、输出与问题的要求有出入等,在很大程度上是由于控制条件考虑不周所至。这类错误是初学数据结构编程者最易犯的毛病,而当运行出现这类错误时又往往感到束手无策。为了从程序中忙地排除这类错误,首要是能对错误的出处准确定位,常用的简便办法是利用集成环境提供的Debug功能加以定位。在程序中适当位置临时加入一些反映调试信息的输出语句,以此来反映动态运行善有时也比较有效。调试中出现的警告性提示,也不能轻易放过,必须究其原因排除之。 对某一组数据运行成功,并不意味程序正确。在进行整个程序的联调时,要特别注意对多组数据模型进行试验,并分别选择几种具有一般性和特殊性的数据进行调试,用测试数据(包括正确的数据和错误的数据)测试程序是否能得到正确结果,程序健壮性(容错处理)怎样等? 因为本材料不是讲解Microsoft Visual C++的专门手册性读物,有关Visual C++本身的知识内容的讲解,请读者参考相关的书籍。可带一本C++程序设计教材或Visual C++操作手册,进行调试。 5、总结和整

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档