排序算法的PHP实现
Dec 7th, 2009排序应该是编程里最基础的东西了,排序的算法也有很多。最熟悉的莫过于C语言课本里讲的冒泡。冒泡的思想很好理解,但是效率是很差的。
一直只是在脑海里有过这些算法的实现,时间长就忘了。实践一下,深入的理解这些算法的精髓才是好的选择。
目前,只是实现了冒泡排序、插入排序、选择排序、快速排序。其他的再来吧。
测试了下效率
PHP sort函数结果 : 1,2,3,4,5,6,7,8,9,10 Processed In 2.6941299 s 冒泡排序结果 : 1,2,3,4,5,6,7,8,9,10 Processed In 3.8862228 s 插入排序结果 : 1,2,3,4,5,6,7,8,9,10 Processed In 7.0095062 s 选择排序结果 : 1,2,3,4,5,6,7,8,9,10 Processed In 2.2888183 s 快速排序结果 : 1,2,3,4,5,6,7,8,9,10 Processed In 7.7962875 s
应该是原生的PHP sort函数效率应该是最好的.今天被选择排序占了上风.我也比较喜欢选择这个算法.
选择的思想是把最小的数放到第一个位置,第二小的放到第二的位置,知道排完。
插入的思想是把n个数中第i个数插到前i个数中比i小的数前面,知道排序结束。
最难的理解的是快速,目前还是理解的不透彻。什么时候理解了什么时候再总结。
有兴趣可以看看我写的脚本下载Sorting
演示看这里
liupeng
2009-12-11 09:55 - Reply
bit5566
2010-07-19 01:11 - Reply
Lin.x
何解?
2010-07-20 10:52 - Reply