排序是计算机程序设计中的一种重要操作,是把一个没有序的记录序列重新成按记录的某个关键码有序的序列的过程。排序方法按涉及的存储器不同分为内部排序和外部排序两类。内部排序指记录存放在内存中并且在内存中调整记录之间的相对位置,没有内、外存的数据交换。外部存中,借助于内存调整记录之间的相对位置,需要在内、外...
分类:
编程语言 时间:
2015-02-14 06:30:19
阅读次数:
178
在前面我们实现了选择排序与冒泡排序的具体实现,现在我们从数学的角度分析下算法的效率问题:
首先我们把两种排序算法的概念重温一遍:
选择排序:在每一轮中,找出最小的元素放在他最终的位置。挺起来有些别扭,我们举个实例:
eg: 8, 5,1, 20, 6, 3
1ed······ 1, 5,8, 20, 6, 3
2ed······ 1,...
分类:
编程语言 时间:
2015-02-02 19:55:18
阅读次数:
208
(function () { /* 通排序 最快最简单的排序 */ var data = [100, 50, 75, 25, 1, 20, 90, 30, 80, 40, 60, 50], result =...
分类:
编程语言 时间:
2015-01-30 19:21:01
阅读次数:
106
有序链表的用途有序链表主要用途就是用于排序,大家都知道,数组的插入排序算法,排序的时候需要大量的复制数据,这样效率就会很低,用有序链表实现无序数组的排序这样可以减少很多次的数据的复制。效率大大提高。package 有序链表;public class Link { public double dd; ...
分类:
其他好文 时间:
2015-01-28 21:16:05
阅读次数:
322
枚举(Enum)使用示例、枚举集(EnumSet)使用示例、常用算法、排序、二分查找、向量类(Vector)使用示例、栈(Stack)使用示例
分类:
编程语言 时间:
2015-01-23 19:40:41
阅读次数:
299
计数排序 是 线性时间的 排序算法,时间复杂度为O(n),虽然有一定的局限性。但是还是很好的一种算法。用2个数组进行额外的存储信息,数组 c[ ] 是对 数据中值相同的 记录下来,以便后面查阅;b[ ]是输出的有序数组,再将有序的数组输出。...
分类:
编程语言 时间:
2015-01-22 15:39:48
阅读次数:
187
算法–排序1算法–排序1约定:在代码中l,和r都是闭区间,例如,有10个元素的数组,那么我的代码中l和r分别是0和9。(使用的是从小到大排序)冒泡排序假如有n个元素,那我们要走n-1次,选择出一个最大,然后丢到后面去。void bubble(int l, int r) { for(int i = l...
分类:
编程语言 时间:
2015-01-21 19:55:30
阅读次数:
185
算法–排序1算法–排序1约定:在代码中l,和r都是闭区间,例如,有10个元素的数组,那么我的代码中l和r分别是0和9。(使用的是从小到大排序)冒泡排序假如有n个元素,那我们要走n-1次,选择出一个最大,然后丢到后面去。void bubble(int l, int r) { for(int i = l...
分类:
编程语言 时间:
2015-01-20 13:25:01
阅读次数:
173
算法–排序1算法–排序1约定:在代码中l,和r都是闭区间,例如,有10个元素的数组,那么我的代码中l和r分别是0和9。(使用的是从小到大排序)冒泡排序假如有n个元素,那我们要走n-1次,选择出一个最大,然后丢到后面去。void bubble(int l, int r) { for(int i = l...
分类:
编程语言 时间:
2015-01-16 18:48:13
阅读次数:
184