介绍了 JDK7 中引入的新的排序算法 TimSort,它来自 Python 中 list 的排序算法。将归并排序(merge sort) 与插入排序(insertion sort) 结合,并进行了一些优化。对于已经部分排序的数组,时间复杂度远低于 O(n log(n)),最好可达 O(n),对于随机排序的数组,时间复杂度为 O(nlog(n)),平均时间复杂度 O(nlog(n))。...
分类:
其他好文 时间:
2014-06-19 12:33:58
阅读次数:
575
一、冒泡排序简述1、概念 冒泡排序(Bubble
Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素...
分类:
其他好文 时间:
2014-06-16 08:34:13
阅读次数:
201
持续添加中。。。1 快排 1 void QuickSort(int data[],int
left,int right) 2 { 3 4 if(left=temp)14 j--;15 16 data[i]=data[j];17 18 ...
分类:
其他好文 时间:
2014-06-16 08:25:32
阅读次数:
221
如果要转载,需要注明出处:http://blog.csdn.net/xiazdong本文是http://blog.csdn.net/xiazdong/article/details/7304239的补充,当年看了《大话数据结构》总结的,但是现在看了《算法导论》,发现以前对排序的理解还不深入,所以打算...
分类:
其他好文 时间:
2014-06-16 06:52:39
阅读次数:
210
堆排序(heapsort)是一种原地(in place)排序算法, 它的时间复杂度是O(nlgn). 堆数据结构不只是在堆排序中有用,它还可以构成一个有效的优先队列。堆数据结构是一种数组对象,它可以被视为一颗完全二叉树。如图: Aheap-size是放在A中堆的元素个数。根据数组节点的索引,我们.....
分类:
其他好文 时间:
2014-06-15 21:27:58
阅读次数:
239
1.选择排序// 选择排序 每次扫描找出最小的那个,放到正确的位置。 public static int [] sort1(int [] data) { if(data == null) { return null; } in...
分类:
其他好文 时间:
2014-06-15 16:25:51
阅读次数:
188
概述:排序算法可分为比较性的排序,以及运算性的排序;这里详细介绍这些排序的原理,性能,实现,以及应用场合。比较排序一:快速排序1:原理采用了分治思想,在序列A[p...r]中选取一个元素,当然这里是用了p或者r处的元素(规格一致);找到该元素的,满足前面的值都比它小,后面的都比它大;同理让子序列递归...
分类:
其他好文 时间:
2014-06-15 00:41:48
阅读次数:
297
目的:重温经典排序思想,并用C语言指针实现排序算法================================================*//*=========================================================================...
分类:
编程语言 时间:
2014-06-13 20:23:32
阅读次数:
335
function InsertSort($arr){ $num = count($arr);
for($i = 1; $i = 0; $j--){ if($arr[$j] > $key){ $arr[$j + 1...
分类:
Web程序 时间:
2014-06-12 16:51:05
阅读次数:
270