C语言中的冒泡排序算法优化-最新资料
更新时间:2024-02-28 10:44:01 阅读量: 综合文库 文档下载
- c语言简单的冒泡排序算法推荐度:
- 相关推荐
C语言中的冒泡排序算法优化
数学中的数值大小在计算机中经常需要按规律排列,传统算法有冒泡排序法和选择排序法两种。其中数冒泡排序法较为经典。本文从传统方法的冒泡排序入手,对其进行常见的改进算法分析比;最后提出一种比较更为合理的优化算法。 1 传统的冒泡排序及改进 1.1 传统的冒泡排序 1.2 优化后的冒泡排序
上述1.1中的算法简单、容易理解,但有很多情况下它都有几趟排序是不会有任何的操作。为了避免这种情况一些专家和学者提出使用一个标记变量来解决,即当排序不发生任何数据交换时就立即停止;这样的解决办法即避免了无效的重复排序,又避免了有限资源的浪费。
2 一种提高100%效率的优化算法——同时前后冒泡 需要注意的是将上述程序段增加到1.1节中程序的第17行下方,然后从第12行开始到这里的结束部分总起来用一个大括号括起来,做为程序第11行循环的循环体。程序段中使用了变量m,它和在程序第19行中的变量是同一个,但含意完全不一样,这里用来表示是从程序的最后开始执行;而第19行中的表示是循环控制变量;只不过前面用过就不在需要它的值,所以这里可以重新赋初值来使用。
将上述测试数据输入测试,大家就会发现算法的有效循环执行了2次,到了第3次跳出;这是怎么回事情呢?这样的优化是如何工作的呢?
3 同时前后冒泡有效性分析验证
从上面两张表的对比得出,在这样的数据序列下,比原来的改进算法效率提高了50%。假定每个数在的位置,在每一趟比较以后都不在应该的位置上即都是无序的(排列好的除外);那么表1中第1趟只能排好105,而表2中则排好了15和105两个位置,效率可见提高了一倍;以此类推效率提高100%。而这里我们的测试数据在表一中的第一趟已经把38,41,52,54,99,105共6个数排好,固效率无法提高一倍,这是测试数据后面几个数已经从小到大排好造成的,跟我们的立论不冲突。 由此可见,本文提出的算法是有效的。
正在阅读:
C语言中的冒泡排序算法优化-最新资料02-28
简谈青藏铁路施工与环保(改)03-18
14放水建筑物涵洞分部工程验收签证07-28
自卑与超越读后感1000字04-14
大学生预备党员转正申请书3000字12-11
组织行为学压缩版整理习题07-03
New Sagitar 2012_1.6L四缸四气阀汽油发动机(滚子摇臂)04-28
龙应台《目送》1000字读后感03-19
《奇迹男孩》读后感1000字04-06
-学习部下学期工作计划-学生会工作计划11-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 冒泡
- 言中
- 算法
- 排序
- 优化
- 资料
- 最新
- 2017年党的纪律的党课心得优秀范文三篇
- 常见矿物鉴定方法
- 波特钻石模型案例分析-中国汽车汽车行业
- 土的抗剪强度安徽理工大学
- 保险学模拟试卷1
- 教育咨询师话术技巧
- 同性婚姻应该合法化 - 一辩稿
- 党团知识竞赛题库
- 健康保健之如何挑选最健康的水才科学安全
- 英美习题1.1.1.1.1
- 2008-2009学年第一学期无机化学期末考试试卷
- 多音字是人们最容易读错的字
- MATLAB期末考试报告
- 冲天炉熔炼工艺基础
- 高二历史破解李约瑟难题
- 第四章 传热习题
- 2017届上海市各区高三英语二模试卷题型分类专题汇编--摘要写作(S
- 北大青鸟Benet--3.0-S2考试题1(4)
- 三厂中学2013~2014学年第一学期高三化学学情调查试卷(17)
- (目录)2018-2023年中国氟橡胶行业发展趋势预测与投资咨询报告