欢迎来到天天文库
浏览记录
ID:30255512
大小:18.57 KB
页数:8页
时间:2018-12-28
《常用排序算法总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划常用排序算法总结 各种排序算法总结 排序算法是最基本最常用的算法,不同的排序算法在不同的场景或应用中会有不同的表现,我们需要对各种排序算法熟练才能将它们应用到实际当中,才能更好地发挥它们的优势。今天,来总结下各种排序算法。 下面这个表格总结了各种排序算法的复杂度与稳定性: 各种排序算法复杂度比较.png 冒泡排序 冒泡排序可谓是最经典的排序算法了,它是基于比较的排序算法,时间复杂度为O(n^2),其优
2、点是实现简单,n较小时性能较好。 算法原理 相邻的数据进行两两比较,小数放在前面,大数放在后面,这样一趟下来,最小的数就被排在了第一位,第二趟也是如此,如此类推,直到所有的数据排序完成 ?c++代码实现? 1.voidbubble_sort(intarr[],intlen) 2.{ 3.for(inti=0;i=i;j--) 6.{目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、
3、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 (arr[j]-1&&ktarget) ; 10.if(idata[i]) { swap(data[i-1],data[i]); flag=true; } } k--; } } 二、选择排序 已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。再比较a[1]与a[3]的值,若a[1]大于a[3]则交换两者的值,否则不变。再比较a[1]与a[4]
4、,依此类推,最后比较a[1]与a[n]的值。这样处理一轮后,a[1]的值一定是这组数据中最小的。再将a[2]与a[3]~a[n]以相同方法比较一轮,则a[2]的值一定是a[2]~a[n]中最小的。再将a[3]与a[4]~a[n]以相同方法比较一轮,依此类推。共处理n-1轮后a[1]、a[2]、……a[n]就以升序排列了。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人
5、员的业务技能及个人素质的培训计划 优点:稳定,比较次数与冒泡排序一样,数据移动次数比冒泡排序少; 缺点:相对之下还是慢。 ?选择排序 选择排序的思想是首先先找到序列中最大元素并将它与序列中最后一个元素交换,然后找下一个最大元素并与倒数第二个元素交换,依次类推。此排序很简单,这不做多说,代码实现如下:voidselectionSort(intdata[],size_tn) { size_ti,j; size_tMaxValIndex; intlargest; if(0==n) { cout0;i--)
6、 { largest=data[0]; MaxValIndex=0; for(j=0;j0&&nexta[x],然后采用分治的策略分别对a[1]~a[k-1]和a[k+1]~a[n]两组数据进行快速排序。优点:极快,数据移动少; 缺点:不稳定。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 经过一段时间的学习和编程,我已对上
7、述几种排序方法熟练掌握或有所了解。在此基础上,经过我的思考和实践,我研究出了一种新的排序算法:分段插入排序。 ?快速排序 快速排序与合并排序有着很多相似性。将要排序的数组分成两个子数组,通过两次递归调用分别对两个数组进行排序,再将已经排好序的两个数组合并成一个独立的有序数组。但是,将数组一分为二的做法比合并排序中使用的简单方法复杂的多。它需要将所有小于或者等于基准元素的元素放置到基准元素前面的位置,将大于基准的元素放置到基准后面的位置。/******快速排序***********/ voidpartition_yl(
8、intdata[],size_tn,size_t&pivot_index) { size_tpivot=data[0]; size_tbig_index=1; size_tsmall_index=n-1; while(big_index0&&data[small_index]>pivot)
此文档下载收益归作者所有