快速排序是一种基于分治法(Divide and Conquer)的排序算法 它之所以称为快速排序是因为它的平均时间复杂度为O(nlogn),最坏情况下是O(n2) 但是这样的情况不常见 一般需要每次划分的左右两边元素个数为1个和n-1个 比如已排好序的数组。大部分的情况都会是大致均匀划分的情况。 原理讲解 基于分治法,快速排序操作...
算法原理 下列动图来自五分钟学算法,演示了快速排序算法的原理和步骤。步骤:从数组中选个基准值 将数组中大于基准值的放同一边、小于基准值的放另一边,基准值位于中间位置 递归的对分列两边的数组再排序 代码实现 function quickSort($arr){ len = count($arr);if ($len <= 1){ return arr;}...