排序算法的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

演示看这里

评论

  • 深入的理解这些算法的精髓才是好的选择!赞一下老乡!嘿嘿
    2009-12-11 09:55 - Reply
  • 不准,多刷新几下就傻了!
    2010-07-19 01:11 - Reply
  • @bit5566
    何解?
    2010-07-20 10:52 - Reply

打分

4 .0

共计1次打分

发表评论

  • 用户名
  • 邮箱
  • 链接