排序算法分类:内部排序(在排序过程中不需要访问外存就可以完成排序)外部排序内部排序分类:交换排序冒泡排序快速排序选择排序直接选择排序堆排序插入排序直接插入排序希尔排序合并排序外部排序:
常见的是多路归并算法,即将原文件分为多个能够一次装入内存一部分,分别把每一部分调入内存完成排序,然后对已经排序的....
分类:
其他好文 时间:
2014-06-29 14:23:42
阅读次数:
314
前面讨论了几种排序算法,三种O(n2)时间复杂度的排序算法:插入,选择和冒泡和两种O(nlgn)的算法:快速排序和归并排序。这几种排序数组除了归并排序需要额外的数组开销。其他几个的空间复杂度都是O(1)。通过比较交换元素完成排序.计数排序是利用空间换取时间,增加了两个额外数组的开销,而且计数排序有一...
分类:
其他好文 时间:
2014-05-30 03:29:19
阅读次数:
241
#includeusing namespace std;////写出快速排序,归并排序与堆排序int
adjustarray(int a[],int left,int right){ int x = a[left]; while(left x
&& left < right) righ...
分类:
其他好文 时间:
2014-05-28 21:32:19
阅读次数:
282
#includeusing namespace std; void merge(int
left,int mid,int right,int a[],int b[]){ int i = 0; int cursor1 = left; int
cursor2 = mid +1; while(cu...
分类:
其他好文 时间:
2014-05-28 20:09:44
阅读次数:
300
#includeusing namespace std;///算法重要,但是思想更重要 void
MemeryArray(int a[],int n,int b[],int m,int c[])///经典框架,be careful!{ int i,j,k;
i = j = k = 0; while(...
分类:
其他好文 时间:
2014-05-26 11:22:57
阅读次数:
204
快速排序也利用了分治的思想,跟归并排序排序相比减少了交换次数int partition(int
a[],int p,int r){ int x = a[r]; int i = p-1; int j; for(j = p;j<r;j++) {
if(a[j]...
分类:
其他好文 时间:
2014-05-26 02:47:46
阅读次数:
226
海量数据处理策略之一—Hash映射 + Hash_map统计 + 堆/快速/归并排序...
分类:
其他好文 时间:
2014-05-23 01:18:40
阅读次数:
414
问题:3,1,4,1,5,9,6,5 通过归并排序对它进行从大到小的排序
要进行多少次数组元素之间的比较?网站找的解决方法:第一趟合并(3,1),(4,1),(5,9),(5,6)
,元素之间共比较了4次;第二趟合并(4,3,1,1),(9,6,5,5),元素之间共比较了6次;为什么是6次?(3.....
分类:
其他好文 时间:
2014-05-21 23:05:08
阅读次数:
260
问题:3,1,4,1,5,9,6,5 通过归并排序对它进行从小到大的排序
要进行多少次数组元素之间的比较?[3] 1 4 1 5 9 6 5第一次排序结果:[1 3] 4 1 5 9 6 5;
//新加入的3和1比较,比较次数1次第二次排序结果:[1 3 4] 1 5 9 6 5; //新加入的4和...
分类:
其他好文 时间:
2014-05-21 22:19:55
阅读次数:
208
常见排序算法主要有:插入排序(直接插入排序、希尔排序)选择排序(直接选择排序、堆排序)交换排序(冒泡排序、快速排序)归并排序基数排序外部排序一.直接插入排序算法思想:在一个待排序列中,从第二个元素开始,依次进行排序,每次都将待排序元素从后往前,依次与前面的元素进行比较,从而将带排序元素移动到一个合适...
分类:
其他好文 时间:
2014-05-21 20:03:36
阅读次数:
353