数据结构适用教程ch08课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构适用教程ch08课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 适用 教程 ch08 课件
- 资源描述:
-
1、123注释是很重要的帮助理解算法的手段,注释是很重要的帮助理解算法的手段,但不必要为每句语句都加上注解。但不必要为每句语句都加上注解。当阅读算法时遇到不明之处时,当阅读算法时遇到不明之处时,切中要切中要害的注解害的注解能大大减少理解算法的时间,能大大减少理解算法的时间,同时也利于程序的排错同时也利于程序的排错。43.3.输入和输出输入和输出 54.4.语句选用的算法结构语句选用的算法结构算法结构不应该过份追求算法的新奇和算法结构不应该过份追求算法的新奇和花哨,花哨,,简明清晰的程序结构和可靠的程简明清晰的程序结构和可靠的程序功能序功能是我们需要的目标。是我们需要的目标。要要避免大段代码避免大段
2、代码(远大于一页)的直接(远大于一页)的直接出现,一般将一页左右的代码分成一个出现,一般将一页左右的代码分成一个模块(函数),控制模块规模,并用函模块(函数),控制模块规模,并用函数原型来说明算法的行为。数原型来说明算法的行为。65.5.基本运算基本运算在算法设计过程中,会发现教材上有很在算法设计过程中,会发现教材上有很多现成的算法可以使用,但我们在学习多现成的算法可以使用,但我们在学习过程中希望读者不要直接利用这些现成过程中希望读者不要直接利用这些现成的产品。如果算法工作量很大,非用不的产品。如果算法工作量很大,非用不可,那必须将所有基本运算写成具体函可,那必须将所有基本运算写成具体函数过程
3、加以实现。数过程加以实现。7(1)1)建议用建议用图图说明算法。说明算法。(2)(2)建议在算法书写完毕后,用建议在算法书写完毕后,用边界条件边界条件的输入参数值的输入参数值验证一下算法能否正确执验证一下算法能否正确执行。行。(3)(3)编写代码时,养成编写代码时,养成良好的编码习惯良好的编码习惯。8“匈牙利记法匈牙利记法”的变量名的变量名在这种记法中,变量具有一个描述性名在这种记法中,变量具有一个描述性名字,如字,如CountCount、UserNameUserName,并以大写字母,并以大写字母开始。如果变量由多个单词组成,则每开始。如果变量由多个单词组成,则每个单词词头需大写,个单词词头
4、需大写,在描述性名称前,在描述性名称前,需加上表示变量类型的字母需加上表示变量类型的字母 .9表8-1-1变量的匈牙利记法101.1.问题分析与系统结构设计问题分析与系统结构设计 软件工程的理论表明,解决一个问题的软件工程的理论表明,解决一个问题的核心在核心在于了解问题本身于了解问题本身 设计算法前,首先弄清要求设计算法前,首先弄清要求做什么做什么而不是怎么而不是怎么做做 第二步是按照以数据结构为中心的原则划分模第二步是按照以数据结构为中心的原则划分模块,先定义所需要的数据结构,然后定义在它块,先定义所需要的数据结构,然后定义在它上面能进行的操作。上面能进行的操作。最后最后再进行具体编码。再进
5、行具体编码。112 2 详细设计和编码详细设计和编码写出程序的框架,用伪码和接口描述算写出程序的框架,用伪码和接口描述算法,对需求分析做进一步细化。法,对需求分析做进一步细化。通过较通过较高层次的设计能使流程清晰,而不陷入高层次的设计能使流程清晰,而不陷入具体算法之中。具体算法之中。详细设计和编码是对详详细设计和编码是对详细设计结果的进一步求精。细设计结果的进一步求精。最后用某种高级语言,比如最后用某种高级语言,比如C C语言或者语言或者C+C+语言表达出来。语言表达出来。123.3.上机准备和静态检查上机准备和静态检查(以以C C语言为例语言为例)掌握掌握C C语言的基本语法语言的基本语法
6、掌握掌握C C语言的调试方法语言的调试方法 上机准备的重点应该放在上机准备的重点应该放在程序的语义方程序的语义方面面 13 静态检查,主要有两种途径,静态检查,主要有两种途径,一是用一一是用一组测试数据手工执行程序组测试数据手工执行程序(或分模块进或分模块进行行);二是通过阅读或给别人讲解自己的;二是通过阅读或给别人讲解自己的程序来全面理解程序逻辑,程序来全面理解程序逻辑,动态检查,即调试程序。一般要在静态动态检查,即调试程序。一般要在静态检查无误后,才检查无误后,才上机调试上机调试。14错误是关联的,错误是关联的,一个错误会引起其它多一个错误会引起其它多个错误。个错误。所以当改正一个错误点时
7、,可所以当改正一个错误点时,可能消除多个编译错误。当某个错误看来能消除多个编译错误。当某个错误看来无法改正的时候,可以先试着改正下一无法改正的时候,可以先试着改正下一个错。个错。上机调试时最好上机调试时最好分块进行分块进行,自底向上,自底向上,即先调试低层函数。必要时可以另写一即先调试低层函数。必要时可以另写一个调用驱动程序。个调用驱动程序。154 4 整理实习报告的内容整理实习报告的内容(1)(1)需求和规格说明需求和规格说明 (2)(2)设计:设计:(3)(3)调试报告调试报告 (4)(4)附录附录 166.6.实验报告的要求实验报告的要求(1)(1)各种文档资料要在程序开发过程中逐各种文
8、档资料要在程序开发过程中逐渐形成,而渐形成,而不能最后再写不能最后再写(但可以最后誊但可以最后誊清清)。(2)(2)各种文档资料要用公文纸或稿纸书写,各种文档资料要用公文纸或稿纸书写,也可以打印,不得写在程序清单上。也可以打印,不得写在程序清单上。178.2 8.2 实习报告范例实习报告范例 求出一个不带变量的表达式的值。求出一个不带变量的表达式的值。问题描述问题描述 用一个算法,将一个合法的表达式,如用一个算法,将一个合法的表达式,如1010*3-3-(4+5)/12(4+5)/12转化成计算机能执行的命令或者直接转化成计算机能执行的命令或者直接计算出结果。本次设计的算法是递归下降语法计算出
9、结果。本次设计的算法是递归下降语法分析程序,还有对复杂数值表达式求值所必须分析程序,还有对复杂数值表达式求值所必须的全部支持函数。主要任务是:输入一个串,的全部支持函数。主要任务是:输入一个串,判断它是否合法,并将其结果算出。判断它是否合法,并将其结果算出。188.2 8.2 实习报告范例实习报告范例 基本要求基本要求 根据输入的字符串,判断其是否是合法根据输入的字符串,判断其是否是合法的表达式。如果不是,给出出错信息。的表达式。如果不是,给出出错信息。否则计算表达式结果并显示在屏幕上。否则计算表达式结果并显示在屏幕上。算法要求体现算符优先级,比如先乘除算法要求体现算符优先级,比如先乘除后加减
展开阅读全文