算法
lk231_java
这个作者很懒,什么都没留下…
展开
-
快速排序
快速排序是在冒泡排序的基础上进行的改装,它的原理是经过一趟排序将数据分割成两部分,左边的数据小于右边的数据,然后分别对这两部分数据用同样的原理进行排序,整个排序过程是用递归实现的,下面来看一个例子[code="java"]package com.lamp.sort;public class QuickSort{ public static void main(Stri...原创 2011-08-05 10:06:05 · 74 阅读 · 0 评论 -
java之选择排序
[code="java"]package com.lamp.sort;public class SelectSort { public static void main(String[] args) { int[] data = {3,1,10,2,8,4}; sortArray(data); for (int i = 0; i < data.length; i+...原创 2011-08-07 12:54:21 · 65 阅读 · 0 评论 -
java之插入排序
插入排序原理是在数组中将较大的元素向右移动一个位置,为要插入的元素腾出空间,然后较小的元素插入到这个空位置上。 插入排序的比较交换要根据输入的数据而定:最好情况就是,序列已经是升序排列了,在这种情况下,需要进行的比较交换操作需(n-1)次即可。最坏情况就是,序列是降序排列,那么此时需要进行的比较共有n(n-1)/2次。所以,如果需要排序的数据量比较小,有一定的顺序用插入排序还是一个不...原创 2011-08-07 12:56:18 · 59 阅读 · 0 评论 -
java基数排序
基数排序将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零. 然后,从最低位开始, 依次进行一次排序.这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列.基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LSD的排序方式由键值的最右边开始,而MSD则相反,由键值的...原创 2011-08-14 15:02:40 · 62 阅读 · 0 评论 -
java之希尔排序
[code="java"]/**希尔排序的原理:根据需求,如果你想要结果从大到小排列,它会首先将数组进行分组,然后将较大值移到前面,较小值 * 移到后面,最后将整个数组进行插入排序,这样比起一开始就用插入排序减少了数据交换和移动的次数,可以说希尔排序是加强 * 版的插入排序 * 拿数组5, 2, 8, 9, 1, 3,4来说,数组长度为7,当increment为3时,数组分为两...原创 2011-11-27 14:41:52 · 99 阅读 · 0 评论