新浪微博 登陆  注册   设为首页 加入收藏

学PHP >> 设计模式与算法 >> 排序算法学习

排序算法学习

查看次数10473 发表时间2012-07-15 19:17:40

        找工作的日子快到了,但自己实在没什么兴趣学算法,数据结构之类的知识,不喜欢为了

理论而理论。不过最近做网站的时候遇到个排序小问题。每一位用户都有自己的积分值,我

需要将这些积分值按大小排序,然后计算出用户积分排名。通过sql语句中的order by可以很

容易地实现排序,但由于网站运行在sae云平台上,而sae有一个资源配额的限制,即当你的应用

占用了sae较多的某类资源时,云平台会收回你对该资源的使用权限(禁用5分钟)。

        每次执行我的排序小模块后,mysql就会被禁掉5分钟。于是我想到一优化方案:将积分数据

读至内存中(php数组),对数组元素排序,将排名写回mysql, 这样就会减轻mysql的负担。

        于是乎,不得不自己实现排序。以后,我就将自己对排序算法的学习记录于下。

一、 冒泡排序。

         我不会像其他人那样,对于冒泡表示不屑。由于境界所限,这是我目前最喜爱的排序算法

原因:简单!故我选择用冒泡实现排序模块的第一次优化。由于原理简单,这里就不详述了。

         优化之后,再没出现mysql禁用配额的问题,看来优化是有效的。









(转发请注明转自:学PHP)    


  相关推荐




  发表评论
昵称:
(不超过20个字符或10个汉字)
内容: