算法——快速排序

原创 2016年06月01日 00:17:46
<?php
function quicksort($arr) {
	if (count($arr) <= 1) return $arr;
	$key   = $arr['0'];
	$left  = array();
	$right = array();
	$count = count($arr);

	for ($i=1;$i<$count;$i++) {

		if ($arr[$i] <= $key) {
			$left[] = $arr[$i];
		} else {
			$right[] = $arr[$i];
		}
	}

	$left  = quicksort($left);
	$right = quicksort($right);

	return array_merge($left,array($key),$right); 
}


结合图形更容易理解整个过程:

http://blog.jobbole.com/11745/

版权声明:本文为博主原创文章,未经博主允许不得转载。

啊哈算法-----快速排序

上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次,那么对1...
  • binyao02123202
  • binyao02123202
  • 2014年02月27日 14:59
  • 4224

《算法(第四版)》排序-----快速排序

参考文章:   http://ahalei.blog.51cto.com/4767671/1365285 1.概念 快速排序,听这个名字就能想到它排序速度快,它是一种原地排序(只需要一个很小的辅助...
  • kwang0131
  • kwang0131
  • 2016年04月07日 14:33
  • 2707

快速排序中的分割算法实现

这里介绍快速排序使用到的两种分割算法。 对于快速排序而言,先选定一个枢轴元素,以枢轴元素为基准比枢轴元素小的元素放在枢轴元素的左边,比枢轴元素大的元素放在枢轴元素的右边。这就是一次分割过程。 1,先介...
  • hapjin
  • hapjin
  • 2015年11月11日 19:38
  • 1359

【算法理解】—— 快速排序(三向切分)

针对于“快速排序”算法的一个介绍,并对快速排序的优化版——“快速排序(三向切分)”做一个介绍。...
  • a8336675
  • a8336675
  • 2016年07月04日 09:49
  • 1426

选择和排序的Sherwood算法

将选择和排序的确定算法修改为Sherwood算法很简单,但是当算法较复杂,例如它是一个缺乏文档资料的软件包的一部分时,就很难对其进行修改。注意,只有当该算法平均时间性能较优,但最坏性能较差时,才有修改...
  • u010786109
  • u010786109
  • 2014年11月25日 16:15
  • 631

排序算法系列:快速排序算法

本文就来说说交换排序的最后一拍:快速排序算法。本文就其原理、过程及实现几个方面讲解一下快速排序算法。...
  • u013761665
  • u013761665
  • 2016年03月01日 15:40
  • 22338

快速排序改进算法

#include using namespace std; const int M = 20; void quickSort(int *data,const int left,const int r...
  • Andrewseu
  • Andrewseu
  • 2014年09月13日 23:35
  • 932

舍伍德算法改进快速排序

由于快速排序具有不稳定性,最好的时间复杂度为o(nlogn),而最坏可达到o(n^2),为了降低最坏情况出现的概率,可以用舍伍德算法对其进行改进~ #include #include #incl...
  • smallacmer
  • smallacmer
  • 2013年05月18日 13:23
  • 3269

算法-模拟“快速排序”

快速排序(Quicksort)思想是怎么样的? 递归版如何实现?
  • daigualu
  • daigualu
  • 2017年03月16日 13:37
  • 601

基于快速排序思想的三个算法题

一,最小的k个数 输入n个数,找出其中最小的k个数,例如输入4,5,1,6,2,7,3,8,个数字,则最小的数字是1,2,3,4 基于O(n)的算法,可以用基于Partion函数解决这个问题,如果基于...
  • tuke_tuke
  • tuke_tuke
  • 2016年05月22日 20:30
  • 3859
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法——快速排序
举报原因:
原因补充:

(最多只允许输入30个字)