
排序算法
文章平均质量分 63
诗酒赠佳人
生命不息 奋斗不止
展开
-
【排序算法】选择排序
package sort.algorithm.select; public class Select { // 选择排序的最差情况运行时间是O(n^2) public static void selectionSort(int[] data) { int length = data.length; int max; int temp; for (int i = 0;原创 2015-08-28 09:34:06 · 378 阅读 · 0 评论 -
【排序算法】归并排序
package sort.algorithm.merg; public class Merg { // 归并算法--划分解决排序 // 归并排序的最坏情况运行时间、平均情况运行时间以及最好情况运行时间都是O(nlogn) // 归并排序的最坏情况运行时间是O(nlogn),而快速排序的最坏情况运行时间是O(n^2).但是归并排序需要更多的存储空间,因为它 // 需要一个额外的数组 pu原创 2015-08-28 09:38:43 · 510 阅读 · 0 评论 -
【排序算法】快速排序
package sort.algorithm.quick; public class Quick { // 快速排序的最坏情况运行时间是O(n^2),但快速排序的平均情况运行时间和最好情况运行时间都是O(nlogn) public static void quicksort(int[] data, int first, int n) { int pivotIndex; int n1原创 2015-08-28 09:41:39 · 377 阅读 · 0 评论 -
【排序算法】总结
转载来自于:九大排序算法再总结 排序的定义: 输入:n个数:a1,a2,a3,...,an 输出:n个数的排列:a1',a2',a3',...,an',使得a1' In-place sort(不占用额外内存或占用常数的内存):插入排序、选择排序、冒泡排序、堆排序、快速排序。 Out-place sort:归并排序、计数排序、基数排序、桶排序。 当需要对大量数据进行排转载 2015-09-19 15:50:46 · 468 阅读 · 0 评论 -
【排序算法】冒泡排序
冒泡排序算法的运作如下:(从后往前) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 冒泡排序--Java实现 /原创 2015-09-19 09:48:05 · 559 阅读 · 0 评论 -
【排序算法】插入排序
package sort.algorithm.insert; public class Insert { // 处理的方法是:每次获得一个元素,构建另一个有序列表。使用一个数组就足够了, // 如果有十个位置,一个列表可以保存在数组的头部,而另一个列表可以保存在数组 // 的尾部。 // 插入排序的最坏情况是O(n^2) public static void insertSort(原创 2015-08-28 09:36:40 · 399 阅读 · 0 评论 -
【排序算法】希尔排序
希尔排序--不需要大量的辅助空间,和归并排序一样容易实现。希尔排序是基于插入排序的一种算法, 在此算法基础之上增加了一个新的特性,提高了效率。 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2 =1( … 一般的初次取序列原创 2015-09-19 09:56:12 · 728 阅读 · 0 评论 -
【排序算法】计数排序
转载来自:计数排序之Java实现 计数排序算法介绍 比较排序算法可以通过决策树模型证明,其下线是O(nlgn)。而本文介绍的是时间效率为O(n)的计数排序。所谓排序算法,无非就是把正确的元素放到正确的位置,计数排序就是计算相同key的元素各有多少个,然后根据出现的次数累加而获得最终的位置信息。但是计数排序有两个限制条件,那就是存在一个正整数K,使得数组里面的所有元素的key值都不大转载 2015-09-19 22:02:36 · 577 阅读 · 0 评论 -
【排序算法】堆排序
package sort.algorithm.heap; public class Heap { // 堆排序,它组合了归并排序的时间效率和快速排序的控件效率。和归并排序一样,堆排序 // 的最差情况运行时间为O(nlogn),和快速排序一样它不需要额外的数组 public static void heapsort(int[] data, int n) { int unsorte原创 2015-08-28 09:43:17 · 470 阅读 · 0 评论