14种排序算法和PHP数组都有哪些

14种排序算法和PHP数组都有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联建站服务项目包括梅里斯网站建设、梅里斯网站制作、梅里斯网页制作以及梅里斯网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,梅里斯网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到梅里斯省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

在这篇文章里,我将向大家介绍用PHP写的排序算法的测试。
以下是14种排序算法:

  • 快速排序

  • 计数排序

  • 梳排序

  • 堆排序

  • 归并排序

  • 希尔排序

  • 选择排序

  • 插入排序

  • 地精排序

  • 联合冒泡排序

  • 鸡尾酒排序

  • 冒泡排序

  • 奇偶排序

  • 使用标志的冒泡排序

算法不是按字母排序,而是按照它们进行8千个元素排序时整体速度递减来排序。

以下是用到的数组的大小:

  • 1

  • 100

  • 200

  • 400

  • 600

  • 800

  • 1000

  • 5000

  • 10000

  • 15000

  • 20000

  • 25000

  • 30000

每次测量都用不同大小的数组,然后传入排序函数。

  • 第一种情况下,数组被随机填充(1,N)之间的值,其中N指数组的大小。

  • 第二种情况下,数组被随机填充(1,PHP_INT_MAX)之间的值,其中PHP_INT_MAX是指当前系统中INT类型的最大值,在我的系统中为2^63或大约为9.2233720368548E+18。

每种测试进行3次,然后取其算术平均值。

1000个元素的数组

在当前数组大小的所有算法排序情况。

14种排序算法和PHP数组都有哪些

14种排序算法和PHP数组都有哪些

30000个元素的数组

此时,5种最快的算法进行测试:计数排序,快速排序,梳排序,堆排序和归并排序。

14种排序算法和PHP数组都有哪些

14种排序算法和PHP数组都有哪些

200000个元素的数组

此时,5种最快的算法进行测试:计数排序,快速排序,梳排序,堆排序和归并排序。

14种排序算法和PHP数组都有哪些

14种排序算法和PHP数组都有哪些

2000000个元素的数组

在最后一轮2000000个元素的测试中,只有2种算法进行测试:计数排序和快速排序。

14种排序算法和PHP数组都有哪些

14种排序算法和PHP数组都有哪些

总结

快速排序是实至名归的好算法。计数排序在小值范围里表现良好;其他情况因为低内存而应 付不来。鸡尾酒排序对于随机值是一个坏选择。冒泡排序及其变形并不适合实际应用。

所有算法的源代码+结果:https://drive.google.com/file/d/0B63HSL7JD630VWdSSFgwdHR5RkU/edit?usp=sharing

使用内置排序函数是一个有趣的练习。使用解释型的PHP来写排序函数永远也快不过sort() 采用的C变体。

看完上述内容,你们掌握14种排序算法和PHP数组都有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

本文题目:14种排序算法和PHP数组都有哪些
当前网址:https://www.cdcxhl.com/article10/iijogo.html

成都网站建设公司_创新互联,为您提供用户体验手机网站建设品牌网站制作网站改版外贸建站响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发