1Enum>类这是所有 Java 语言枚举类型的公共基本类。2 常见排序算法冒泡法。简单。比较小的需求可以采用此方法。快速排序。确定关键字,将数据分为小于和大于关键字两部分。然后递归快排这两部分。插入排序。将数据分为有序和无序两部分,逐一遍历无序部分,将记录逐条插入有序部分。有改进的折半插入排序,即...
分类:
其他好文 时间:
2014-07-10 11:50:16
阅读次数:
244
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-07-08 00:18:26
阅读次数:
235
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-07-07 15:31:04
阅读次数:
263
1. 遍历算法(遍历二叉树6种方法) 排序算法 查找算法...
分类:
编程语言 时间:
2014-06-30 10:32:43
阅读次数:
313
快速排序算法 代码(C)本文地址: http://blog.csdn.net/caroline_wendy经典的快速排序算法, 作为一个编程者, 任何时候都要完整的手写.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Author: Spike
*/
/*eclipse cdt, gcc 4.8.1*/
#include
#in...
分类:
其他好文 时间:
2014-06-30 06:15:06
阅读次数:
225
前面的介绍的三种排序算法,都属于简单排序,大家可以看下具体算法,时间复杂度基本都在0(n^2),这样呢,很多计算机界、数学界的牛人就很不爽了,他们在家里想啊想,吃饭的时候在想,窝粑粑的时候也在想,究竟能不能把时间复杂度搞低点呢。终于,皇天不负有心人啊,王母娘娘显灵了,终于被DL. SHELL这哥们给想出来了。他所创造的希尔(shell)排序是世界上第一个打破0(n^2)的时间复杂度的算法。牛逼不?
好了,言归正传。...
分类:
编程语言 时间:
2014-06-28 07:38:44
阅读次数:
217
//希尔排序
在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助。
如果比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。
D.L.shell于1959年在以他名字命名的排序算法中实现了这一思想。算法先将要排序的一组数按某个增量d分成若干组,
每组中记录的下标相差d.对每组中全部元素进行排序,...
分类:
其他好文 时间:
2014-06-27 23:35:51
阅读次数:
340
归并排序(Merge Sort)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。
归并排序的具体做法:
把原序列不断地递归等分,直至每等份只有一个元素,此时每等份都是有序的。
相邻等份合并,不断合并,直至合并完全。
二路归并
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序最常用的是二路归并,即把两个小的有序的序列和并成一个大的有序序列:合二为一...
分类:
其他好文 时间:
2014-06-27 10:16:41
阅读次数:
315
在前面的文章STL之heap相关操作算法中介绍了堆的相关操作算法,由于堆的注意主要作用是用于排序,我们也知道堆排序的时间复杂度为o(nlogn),是一种不稳定的排序算法,利用堆这一数据结构,我们可以很快第获取一个大数据中最大(或最小)的k个数。同时,上篇文章中,也提出了相关heap算法的一些问题...
分类:
其他好文 时间:
2014-06-27 08:16:59
阅读次数:
171