php算法之快速排序
2013-07-25 12:36
274 查看
/** * 快速排序 * 原理: * 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 * 最差时间复杂度 O(n*n) * 最优时间复杂度 O(nlogn) * 平均时间复杂度 O(nlogn) */ function Qsort($array) { if (!is_array($array) || empty($array)) { return array(); } $len = count($array); if($len <= 1){ return $array; } $key = $array[0]; $left = array(); $right = array(); for($i = 1; $i < $len; $i++) { if ($array[$i] <= $key) { $left[] = $array[$i]; } else { $right[] = $array[$i]; } } $left = Qsort($left); $right = Qsort($right); return array_merge($left, array($key), $right); }
相关文章推荐
- [李景山php]算法系列|php 实现快速排序
- php四种基础算法:冒泡,选择,插入和快速排序法
- PHP排序算法之快速排序(Quick Sort)及其优化算法详解
- php经典算法(二分法、快速排序)
- php算法之快速排序
- 图解算法练习--快速排序(PHP实现)
- PHP四种基础算法详解(冒泡排序、选择排序、插入排序、快速排序)
- 七大排序问题之快速排序(参考算法导论PHP版)
- 内部排序冒泡排序、插入排序、选择排序、快速排序的算法和PHP实现
- php算法之快速排序
- 【捷哥浅谈PHP】第二弹---经典算法的运用(冒泡排序和快速排序)
- 分块查找算法 (php)
- PHP算法之汉诺塔游戏
- php数字转汉字代码(算法)
- PHP分页算法详解
- php四种基础排序(基础算法)----①冒泡排序法
- php快速排序原理与实现方法分析
- C 数据结构 算法 Java 数据库 PHP JSP Web Dev ... ... 我会坚持走下去的