到目前为止, 我们已经学习到了插入排序, 冒泡排序, 选择排序(selection)。 这些排序算法都是comparision based sorting algorithms(即涉及到元素大小的比较来决定元素的先后顺序)。 而且算法的时间复杂度上均为O(n^2)。但是comparision based 的排序算法远非这几个算法。 而且可以通过利用其它的一些手段(例如divide and conq...
                            
                            
                                分类:
编程语言   时间:
2014-07-11 08:29:25   
                                阅读次数:
441
                             
                    
                        
                            
                            
                                Sort a linked list in O(n log n) time using constant space complexity.merge sort、heap sort和quick sort都是O(nlgn),但是mergesort和quicksort都是递归的,不是constant s...
                            
                            
                                分类:
其他好文   时间:
2014-07-06 21:07:41   
                                阅读次数:
210
                             
                    
                        
                            
                            
                                最小的k个数 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入n个整数, 找出其中的最小k个数.使用快速排序(Quick Sort)的方法求解, 把索引值(index)指向前k个数.代码:/*
 * main.cpp
 *
 *  Created on: 2014.6.12
 *      Author: Spike
 */
/*eclip...
                            
                            
                                分类:
其他好文   时间:
2014-06-30 18:16:34   
                                阅读次数:
204
                             
                    
                        
                            
                            
                                An iterative way of writing quick sort:#include #include #include using namespace std;void quickSort(int A[], int n) {	stack> stk;	stk.push(make_pair(...
                            
                            
                                分类:
其他好文   时间:
2014-06-29 20:16:45   
                                阅读次数:
179
                             
                    
                        
                            
                            
                                [1.1]使用库语言排序算法本文地址: http://blog.csdn.net/caroline_wendy如果不缺少内存, 可以直接使用库的排序算法.使用库语言的排序程序:C语言性能最好的算法是快速排序(quick sort).C++性能最好的是集合(set)的排序算法.C语言代码:/*
 * main.cpp
 *
 *  Created on: 2014.6.12
 *      Auth...
                            
                            
                                分类:
其他好文   时间:
2014-06-18 00:40:02   
                                阅读次数:
269
                             
                    
                        
                            
                            
                                归并排序(merging sort): 包含2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表.归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如快速排序(quick sort)和堆排序(heap sort),但是归并排序是稳定排序, 而.....
                            
                            
                                分类:
其他好文   时间:
2014-06-17 23:47:38   
                                阅读次数:
299
                             
                    
                        
                            
                            
                                归并排序(merging Sort) 详解 及 代码本文地址: http://blog.csdn.net/caroline_wendy归并排序(merging sort): 包含2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表.归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如快速排序(quick sort)和堆排序(heap sort)...
                            
                            
                                分类:
其他好文   时间:
2014-06-17 16:19:56   
                                阅读次数:
232
                             
                    
                        
                            
                            
                                快速排序(Quick Sort)也是一种交换排序,它在排序中采取了分治策略。
快速排序的主要思想是:
从待排序列中选取一元素作为轴值(也叫主元)。
将序列中的剩余元素以该轴值为基准,分为左右两部分。左部分元素不大于轴值,右部分元素不小于轴值。轴值最终位于两部分的分割处。
对左右两部分重复进行这样的分割,直至无可分割。...
                            
                            
                                分类:
其他好文   时间:
2014-06-15 15:28:14   
                                阅读次数:
301
                             
                    
                        
                            
                            
                                原文:浅谈算法和数据结构: 四 
快速排序上篇文章介绍了时间复杂度为O(nlgn)的合并排序,本篇文章介绍时间复杂度同样为O(nlgn)但是排序速度比合并排序更快的快速排序(Quick 
Sort)。快速排序是20世纪科技领域的十大算法之一 ,他由C. A. R. Hoare于1960年提出的一种划分交...
                            
                            
                                分类:
其他好文   时间:
2014-06-07 20:15:43   
                                阅读次数:
362
                             
                    
                        
                            
                            
                                An iterative way of writing quick sort:
#include 
#include 
#include 
using namespace std;
void quickSort(int A[], int n) {
	stack> stk;
	stk.push(make_pair(0, n-1));
	while (!stk.empty()) {
		pair ...
                            
                            
                                分类:
其他好文   时间:
2014-06-03 00:16:43   
                                阅读次数:
357