摘要: 快速排序输采用分而治之的策略,将一个串分为两个串,分别进行排序具体实现方法:在数组中找到基准pivot分区partition操作:将所有小于pivot的元素放在pivot的前面,将所有大于pivot的元素放在pivot的后面递归recursive操作:将两个子数组进行上面类似的排序效率分析:时间复杂度:最佳好情况O(nlogn),数组中的每个元素都需要被循环遍历一次,以找到其位置,需要O(n),而每次遍历时都将数组给分区成2个部分,需要O(logn);最坏情况O(n^2)空间复杂度:最好情况O(logn),最坏情况O(n)实现代码: void partition(int *arr,int l. 阅读全文
posted @ 2012-10-06 14:31 Kalou 阅读(187) 评论(0) 推荐(0) 编辑