基础知识: 排序:通过计算机手段将一组随机无序的数列变成有序的数列。常用排序算法有很多,主要有如下的几种: 包括插入排序,冒泡排序,选择排序,堆排序,归并排序,计数排序,基数排序,桶排序,快速排序等。 插入排序,堆排序,选择排序,归并排序和快速排序,冒泡排序都是比较排序,它们通过对数组中的元素...
分类:
其他好文 时间:
2014-08-11 14:45:42
阅读次数:
282
归并排序法是一个基于分治法的比较排序方法,其最差情况复杂度为O(nlogn),而快速排序法的复杂度在最差情况下达到O(n2)本文使用PHP来讨论其算法过程:假设对乱序数列进行排序 $input = array(11,5,1,4,8,7,9,2);思路可以表示:(图是PPT画的,比较简单,请看官见谅)...
分类:
其他好文 时间:
2014-08-09 11:20:37
阅读次数:
398
桶排序的基本思想
桶排序利用函数的映射关系,将待排序的数组分成了N个块(桶)。实际上,桶排序的f(k)值的计算,其作用就相当于快排中划分,已经把大量数据分割成了基本有序的数据块(桶)。然后只需要对每个桶中的少量数据做比较排序(比较排序:即在比较的基础上进行交换,达到排序效果)即可。
假如待排序列K= {49、 38 、 35、 97 、 76、 73 、 27、 49 }。这些数据全部在1—1...
分类:
其他好文 时间:
2014-08-09 00:19:17
阅读次数:
267
计数排序是一个非基于比较的排序算法。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。计数排序的基本思想就是对于每一个输入元素x,确定出小于x的元素个数。有了这一信息就可以把x直接放到它在最终输出数组中的位置上。例如,如果有17个元素小于x...
分类:
其他好文 时间:
2014-08-08 17:37:56
阅读次数:
190
前言:
当我们在使用Java,应该“优选容器而不是数组”。只有在证明性能成为问题,并且切换到数组对性能提高有所帮助时,你才应该使用数组。
排序:
排序必须根据对象的实际类型执行比较操作。一种自然的解决方案是为每种不同的类型各编写一个不同的排序方法,但是这样的代码难以被新的类型所复用。
程序设计的基本目标是:“将保持不变的事物与会发生改变的事物相分离”,而这里,不变的是通用的排序...
分类:
其他好文 时间:
2014-07-20 22:46:23
阅读次数:
353
一。比较Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在内部实现的排序,Comparator 是在外部实现的排序。用 Comparator 是策略模式(strategy design pattern),不改变对象自身,而用一个策略...
分类:
其他好文 时间:
2014-07-16 22:55:37
阅读次数:
181
任意一个比较排序算法在最坏情况下,都需要做 Ω(n lg n) 次的比较,堆排序和合并排序都是渐进最优的比较排序算法。本文介绍三种以线性时间运行的算法:计数排序、基数排序和桶排序,这些算法都用非比较的一些操作来确定排序顺序。因此,下界 Ω(n lg n) 对它们是不适用的。
分类:
其他好文 时间:
2014-07-14 15:57:36
阅读次数:
263
比较排序(Comparison Sort)通过对数组中的元素进行比较来实现排序。本文介绍常见的比较排序算法,包括插入排序(Insertion Sort)、希尔排序(Shell Sort)、快速排序(Quicksort)、冒泡排序(Bubble Sort)、鸡尾酒排序(Cocktail Sort)、奇...
分类:
其他好文 时间:
2014-07-14 10:41:39
阅读次数:
479
快速排序是一种分治排序算法。广泛认为它是解决一般问题的最佳排序算法。同插入排序一样,快速排序也属于比较排序的一种,而且不需要额外的存储空间。在处理中到大型数据集时,快速排序是一个比较好的选择。
由于快速排序是一种分治算法,因此可以用分治法的思想将排序分为三个步骤
1.分:设定一个分割值将数据分为两部分。
2.治:分别在两部分用递归的方式继续使用快速排序法。
3.合:对分割部分排序排序直至完...
分类:
其他好文 时间:
2014-07-13 15:35:44
阅读次数:
214
计数排序是一种稳定的排序算法,它不是比较排序。计数排序是有条件限制的:排序的数必须是n个0到k的数,所以计数排序不适合给字母排序。计数排序时间复杂度:O(n+k),空间复杂度:O(k),当k=n时,时间复杂度可以达到O(n)。计数排序思想:给定一个符合规定的无序数组,先求出这个数组中最大的数,...
分类:
其他好文 时间:
2014-07-04 00:00:59
阅读次数:
271