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

中文VisualBasic6.0实用教程——结构化程序设计沈大林杨旭关点杜金1第4章上课用课件.ppt

中文VisualBasic6.0实用教程——结构化程序设计沈大林杨旭关点杜金1第4章上课用课件.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章优化算法和程序设计方法 本章要点 4.1 优化算法—有趣的4个自然数 4.2 解不定方程式 4.3 求300以内的素数和 4.4 两个数的最大公约数与最小公倍数 4.5 字符三角形图案 4.6 逻辑推理——谁是跳水运动员 4.7 不同进制数之间的转换 习题 4 4.1 优化算法—有趣的4个自然数 4.1 优化算法—有趣的4个自然数 4.1 优化算法—有趣的4个自然数 4.1 优化算法—有趣的4个自然数 4.1 优化算法—有趣的4个自然数 4.1 优化算法—有趣的4个自然数 4.2 解不定方程式 4.2 解不定方程式 4.2 解不定方程式 4.2 解不定方程式 4.3 求300以内的素数和 4.3 求300以内的素数和 4.3 求300以内的素数和 4.3 求300以内的素数和 4.3 求300以内的素数和 4.4 两个数的最大公约数与最小公倍数 4.4 两个数的最大公约数与最小公倍数 4.4 两个数的最大公约数与最小公倍数 4.5 字符三角形图案 4.5 字符三角形图案 4.6 逻辑推理——谁是跳水运动员 4.6 逻辑推理——谁是跳水运动员 4.6 逻辑推理——谁是跳水运动员 4.6 逻辑推理——谁是跳水运动员 4.6 逻辑推理——谁是跳水运动员 4.7 不同进制数之间的转换 4.7 不同进制数之间的转换 4.7 不同进制数之间的转换 4.7 不同进制数之间的转换 * * 4.1.1 算法分析 程序设计人员总希望能够设计出一个好的算法。一个好的算法应具有正确性、可读性、键壮性、易测试性、可移植性和运行效率高等性能。在一个算法编出来之后,主要应从以下几个方面进行算法性能的评估。 1.算法的正确性和可读性 (1)算法的正确性:被评估的算法首先应该是正确的。正确的算法应该能够完成预定的任务,达到设计的要求。当输入一组合理的数据时,能够在有限的时间内得到正确的结果。算法的正确性是算法评估的前提,是评估算法中最基本和最重要的特性。 对于一些算法,只能够验证算法是否有错,不能证明算法是否无错,也就是说只要找出一组数据使算法的计算结果不正确,就能证明该算法是错误的。但要验证算法的正确性,应当对所有合法的输入数据都能得到应该得到的结果。要想验证这一点有时是很困难的,输入所有不同数据的数量是非常大的,逐一验证所有的数据有时很难现实。因此,即使算法有错误,也不一定能在短时间内发现。 (2)算法的可读性:算法不仅能够保证计算机的正确运行,而且还要供其他人阅读和进行交流。因此,算法应具有可读性好的特点,这样有助于人们对算法的理解。可读性差的程序难以测试和修改,同时容易隐藏较多的错误。 2.算法的易测试性和健壮性 (1)算法的易测试性:为了验证算法的正确性,需要用若干组数据进行调试。测试用的数据应是典型的和有代表性的输入数据,从而可以保证算法对“所有的”数据的正确性。有时,可以通过验证程序来替代人工的数据输入,完成算法正确性的验证。对于一种算法,还应该考虑在进行测试时,它的测试数据应比较好输入,相应的测试程序应比较容易制作。 (2)算法的健壮性:当输入的数据是非法时,算法也能作出相应的反应或进行相应的处理,而不会产生莫明其妙的输出结果。 3.算法的运行效率 一个算法的运行效率同样包括运行时间、存储器效率和输入/输出效率3个方面,一般算法的运行效率主要是指其对时间和空间的需求,也就是要估计一下按算法编制的程序在计算机上执行所耗费时间和所占用的内存空间。一个好的算法应尽量少占用存储空间,同时又具有尽量快的数据处理速度。对于同一个问题如果有多个算法可以解决,执行速度快的算法时间效率高,占用空间少的算法空间效率高。当然二者都与问题的规模有关,对于在10个数据中进行选择和在1000个数据中进行选择,执行程序所用的时间和占用的内存空间显然是不一样的。 在上述的几个方面中,评价算法性能最主要的是算法的正确性和算法的运行效率。而在实际进行算法分析时,分析算法的运行效率一般只讨论算法的时间效率。 4.1.2 算法的时间复杂度和空间复杂度 1.算法的时间复杂度 算法的执行时间是通过依据该算法所编制的程序在计算机上运行所消耗的时间来度量的。一个用高级程序语言编写的程序在计算机上运行时所消耗的时间与下列要素有关。 ① 问题的规模,显示100以内的裴波纳契数列数和显示10 000以内的裴波纳契数列数,显然问题的规模是不一样的,所用的算法的执行时间是不一样的。 ② 程序中语句的执行次数。 ③ 所用程序设计语言的执行效率。 ④ 编译程序所产生的机器代码质量,计算机

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档