- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 在上述程序中,j+2 共计执行了 3X20=60 次,但这其中有57次是重复执行的,所以可以对其优化。见下页: * 在上述程序中,由于把 j+2 移到了内循环之外,所一只执行了3 次 j+2 的运算。从而减少了57次。 所以说,。。。 。。。 * 另外,我们再来看,在上述程序中的 i+1 共要进行 60次+60次=120次的加 1运算。 那如果我们把程序再稍加改动,则程序的运行效率将又有所提高。 请见右侧程序:。。。 。。。 从中可见,原来要执行120次的 i+1 ,则现在只需要进行计算 60次 了。可见而知,效率提高了一倍。 所以,从修正以后的程序中,我们可以看出,无论是程序的运行效率还是程序的清晰度,都可以说是比较好的一个程序 * 从中可见,原来要执行120次的 i+1 ,则现在只需要进行计算 60次 了。可见而知,效率提高了一倍。 所以,从修正以后的程序中,我们可以看出,无论是程序的运行效率还是程序的清晰度,都可以说是比较好的一个程序 * * 比较交换法:容易理解,但交换次数较多,只要 a[j]a[i] ,就要交换一次数据,如果原来的数据恰恰是由大到小排列的,那么,则每比较一次就要交换一次,按上例所说的,第一轮要比较和交还次,第二轮8次,第三轮7次 。。。 。。。 第9轮1次,一共就需要交换数据 9+8+7+6+5+4+3+2+1=45(次)。 请看下页采用的选择法。 * 如果我们对算法进行改进的话,那么,在每一轮的比较中不必每当 a[j]a[i] 就交换数据,而应在 a[i+1] ---- a[9] 都比较完后,再将a[i] 与 a[i+1]----a[9] 中的值最小的那个元素对换即可。 例如,在第一轮的比较中,先将 a[1] 与 a[2] 比,如果, a[1] a[2] ,不作互换,而是把 a[2] 的下标 “2” 记载下来,表示 “在已经比较过的数据中,最小的数在下标为 ” 2 “ 的数组元素中”。 所谓记载下来,就是说,将下标 “2” 存放在一个变量 k 中 ,设有10个原来次序是由大到小排列的数。设一个变量k,用它来“指向”某一个数组元素,它开始指向 a[1], 以后每比完一次后,哪个数最小,则k 就指向该数。先将 a[1] 和 a[2] 相比较,如: 99 122 , 即a[2]a[1] ,此时,不将a[1] 与 a[2] 互换,而是使 k指向 a[2],表示在a[1]与a[2] 的两个数中,a[2]为最小,。。。。。。。。 如此反复进行下去,直到内循环结束后,也就是第一轮比较完后,应将a[1]与a[k]中的数对换,,而其它8个数均不动,显然交换的次数要比上页程序中所用的“比较交换法”少得多。 同理,在第二轮的比较中,先令k=2,然后再将 a[k]与a[3]---a[10] 进行比较,如果第一个a[j] 大于 a[k] ,则将 a[j] 的下标 赋给 变量 k ,在比完第二轮后 ,a[k] 是9个数中最小者 ,令 a[2] 与a[k] 对换。。。。。。。。。 以后都以此类推,直到比较完轮为止。 上述中的外循环是用来控制比较的 “ 轮 ” 数,循环变量 i 由1变到9 ,表示共进行9轮比较。 “ k=i “ 的意思是:在第一轮中使k 的初始为 1 ,在第二轮中使 k的初始值为 2 。。。 。。。在每比完一轮后,都使 a[k] 与 a[i] 对换。 * 所谓风格,其实就是作家、画家、程序员在创作中喜欢和习惯使用的表达自己作品题材的方式。 特别是,当多个程序员合作编写一个大的程序时,尤其需要强调良好的和一致性的风格,以利于相互通讯,减少因不协调而引起的问题。清晰易读 的程序设计风格. 在1974年的时候,就曾经有人把编码风格归结为如下几个问题: 结构化程序的主要特点就是-------具有单入口和单出口。所以只要组成程序的所有控制结构都遵守单入口和单出口的原则,则无论控制结构使用多少种,也无论程序有多么长,那么整个程序仍能保持控制流的直线性使之清晰易懂。 为了保持控制流的直线性,在编码中要着重抓好以下两件事: 1、对多入口/多出口的控制结构要作适当的处理。例如,上图:。。。。。。 上图
您可能关注的文档
- 软弱围岩隧道施工技术探讨.ppt
- 派择DSP+解决方案探讨.ppt
- 石油炼制乙烯探讨.ppt
- 全国高考政治的题型设计探讨.ppt
- 全国高考英语二轮突破:语法填空探讨.ppt
- 派克钢笔介绍探讨.ppt
- 全国高考新课标卷特点探讨.ppt
- 全国高考新课标卷“补写句子”讲解探讨.ppt
- 全国高考历史科的命制特点及应对策略(徐赐成优)探讨.ppt
- 全国VFP二级考试探讨.ppt
- 2024年河南省南阳市桐柏县大河镇招聘社区工作者真题及参考答案详解1套.docx
- 2024年河南省南阳市镇平县王岗乡招聘社区工作者真题及参考答案详解1套.docx
- 2024年河南省信阳市新县吴陈河镇招聘社区工作者真题及参考答案详解.docx
- 2024年河南省周口市郸城县汲水乡招聘社区工作者真题及参考答案详解1套.docx
- 2024年河南省信阳市罗山县子路镇招聘社区工作者真题参考答案详解.docx
- 2024年河南省周口市鹿邑县生铁冢乡招聘社区工作者真题带答案详解.docx
- 学校家长学校工作方案.pptx
- 镇防汛救灾工作方案.pptx
- 联谊策划稿活动方案.pptx
- 省分行本部楼小会议室录音录像功能改造方案.pptx
文档评论(0)