首页 >

测试评估:14种排序算法和PHP数组

后端开发|php教程测试评估:14种排序算法和PHP数组
排序算法,测试
后端开发-php教程
在这篇文章里,我将向大家介绍用PHP写的排序算法的测试。
以下是14种排序算法:
一个简单的php网站源码,vscode文件索引原理,ubuntu编辑json,idea写接口tomcat,listing爬虫,支付宝 php rsa,荆门seo网络推广公司,php网站后台管理源码,destoon模板 柒月lzw
快速排序
计数排序
梳排序
堆排序
归并排序
希尔排序
选择排序
插入排序
地精排序
联合冒泡排序
鸡尾酒排序
冒泡排序
奇偶排序
使用标志的冒泡排序
苏e互动微信源码,查看网卡名称ubuntu,抖音爬虫照片,@ php,seo jung heelzw
算法不是按字母排序,而是按照它们进行8千个元素排序时整体速度递减来排序。
抓包源码,ubuntu引导安装教程,什么原因+tomcat假死,wish爬虫网站,php电商网站书籍,封开seolzw
以下是用到的数组的大小:

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变体。

译文链接: http://blog.jobbole.com/68774/

http://www.liuzhongwei.com/PHPjc/778654.htmlwww.liuzhongwei.comtruehttp://www.liuzhongwei.com/PHPjc/778654.htmlTechArticle在这篇文章里,我将向大家介绍用PHP写的排序算法的测试。 以下是14种排序算法: 快速排序 计数排序 梳排序 堆排序 归并排序 希尔排序…

测试评估:14种排序算法和PHP数组
  • php中六种常用的排序算法
  • php中六种常用的排序算法 | php中六种常用的排序算法 ...

    测试评估:14种排序算法和PHP数组
  • 排序算法之PHP版快速排序、冒泡排序【PHP】
  • 排序算法之PHP版快速排序、冒泡排序【PHP】 | 排序算法之PHP版快速排序、冒泡排序【PHP】 ...

    测试评估:14种排序算法和PHP数组
  • 如何用Python实现八大排序算法
  • 如何用Python实现八大排序算法 | 如何用Python实现八大排序算法 ...