- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 不同进制数之间的转换 * * 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 4.1.1 算法分析 程序设计人员总希望能够设计出一个好的算法。一个好的算法应具有正确性、可读性、键壮性、易测试性、可移植性和运行效率高等性能。在一个算法编出来之后,主要应从以下几个方面进行算法性能的评估。 1.算法的正确性和可读性 (1)算法的正确性:被评估的算法首先应该是正确的。正确的算法应该能够完成预定的任务,达到设计的要求。当输入一组合理的数据时,能够在有限的时间内得到正确的结果。算法的正确性是算法评估的前提,是评估算法中最基本和最重要的特性。 对于一些算法,只能够验证算法是否有错,不能证明算法是否无错,也就是说只要找出一组数据使算法的计算结果不正确,就能证明该算法是错误的。但要验证算法的正确性,应当对所有合法的输入数据都能得到应该得到的结果。要想验证这一点有时是很困难的,输入所有不同数据的数量是非常大的,逐一验证所有的数据有时很难现实。因此,即使算法有错误,也不一定能在短时间内发现。 (2)算法的可读性:算法不仅能够保证计算机的正确运行,而且还要供其他人阅读和进行交流。因此,算法应具有可读性好的特点,这样有助于人们对算法的理解。可读性差的程序难以测试和修改,同时容易隐藏较多的错误。 2.算法的易测试性和健壮性 (1)算法的易测试性:为了验证算法的正确性,需要用若干组数据进行调试。测试用的数据应是典型的和有代表性的输入数据,从而可以保证算法对“所有的”数据的正确性。有时,可以通过验证程序来替代人工的数据输入,完成算法正确性的验证。对于一种算法,还应该考虑在进行测试时,它的测试数据应比较好输入,相应的测试程序应比较容易制作。 (2)算法的健壮性:当输入的数据是非法时,算法也能作出相应的反应或进行相应的处理,而不会产生莫明其妙的输出结果。 3.算法的运行效率 一个算法的运行效率同样包括运行时间、存储器效率和输入/输出效率3个方面,一般算法的运行效率主要是指其对时间和空间的需求,也就是要估计一下按算法编制的程序在计算机上执行所耗费时间和所占用的内存空间。一个好的算法应尽量少占用存储空间,同时又具有尽量快的数据处理速度。对于同一个问题如果有多个算法可以解决,执行速度快的算法时间效率高,占用空间少的算法空间效率高。当然二者都与问题的规模有关,对于在10个数据中进行选择和在1000个数据中进行选择,执行程序所用的时间和占用的内存空间显然是不一样的。 在上述的几个方面中,评价算法性能最主要的是算法的正确性和算法的运行效率。而在实际进行算法分析时,分析算法的运行效率一般只讨论算法的时间效率。 4.1.2 算法的时间复杂度和空间复杂度 1.算法的时间复杂度 算法的执行时间是通过依据该算法所编制的程序在计算机上运行所消耗的时间来度量的。一个用高级程序语言编写的程序在计算机上运行时所消耗的时间与下列要素有关
您可能关注的文档
- 中国文学理论史(五)近代卷 作者 黄保真 成复旺 蔡钟翔 著 第二章 从鸦片战争前夜到甲午战争时期文学论坛上的主要流派.ppt
- 中国文学理论史(五)近代卷 作者 黄保真 成复旺 蔡钟翔 著 第四章 辛亥革命前后的文学理论.ppt
- 中国文学理论史(五)近代卷 作者 黄保真 成复旺 蔡钟翔 著 第一章 从鸦片战争前夜到甲午战.ppt
- 中国文学理论史(一)先秦两汉、魏晋南北朝卷 作者 蔡钟翔 黄保真 成复旺 著 第一编 先秦两汉.ppt
- 中国现代汉语文学史(上下) 作者 曹万生 著 (上) 第二十七章 成熟期的戏剧与电影.ppt
- 中国现代汉语文学史(上下) 作者 曹万生 著 (上) 第二十四章 20世纪40年代的诗歌分野.ppt
- 中国现代汉语文学史(上下) 作者 曹万生 著 (上) 第二十五章 成熟期的散文创作.ppt
- 中国现代汉语文学史(上下) 作者 曹万生 著 (上) 第二章 中国现代汉语文学诸文体之发端.ppt
- 中国现代汉语文学史(上下) 作者 曹万生 著 (上) 第九章 成形期的诗歌创作.ppt
- 中国现代汉语文学史(上下) 作者 曹万生 著 (上) 第七章 郭沫若.ppt
文档评论(0)