算法(排序)
文章平均质量分 73
茶叶
我坚信:努力过后一定会有收获。
展开
-
插入排序-(直接插入、折半插入、Shell排序)
import java.util.Arrays; /** * 插入排序:直接插入排序、shell排序、折半插入排序 * @author mk * */ public class InsertInSort { /* * 直接插入排序: * 第1趟将第2个元素开始,插入前面有序的序列,此时前面只有一个元素,当然是有序的 * 第2趟将第3个元素插入到前面有序的序列原创 2012-09-25 12:34:43 · 629 阅读 · 0 评论 -
交换排序-(冒泡、快速排序)
import java.util.Arrays; /** * 交换排序:分为冒泡和快速 * @author mk * */ public class ExchangeSort { /** * 冒泡排序:0与1交换,1与2交换..n-2与n-1交换,最大值排在最后,最多经过n-1交换即可完成排序 * 期间后对于有序的不再交换,提高了效率,空间效率O(1),稳定的 *原创 2012-09-24 12:19:06 · 446 阅读 · 0 评论 -
选择排序(直接、堆)
package com.jason.sort.arithmethic; import java.util.Arrays; /** * 选择排序分为直接排序和堆排序 从第一个位置开始定位比较,大于该位置的值则交换,经过第一轮排序最小值定位在第一位 * 一次类推n-1次排序,最后一位依然是最大值。 * * @author mk * */ public class原创 2012-09-21 16:13:38 · 407 阅读 · 0 评论 -
归并排序
import java.util.Arrays; /** * 归并排序,空间效率很差,递归进行分解、合并时间复杂度O(nlog2n),稳定的。 * DataWra 可参考其他算法中的 * @author mk * */ public class MergeSort { public static void sortMerge(DataWrap[] datas原创 2013-04-02 11:23:41 · 772 阅读 · 0 评论 -
桶式排序
import java.util.Arrays; /** * 桶式排序 * * @author mk * */ public class BucketSort { public static void sortBucket(DataWrap[] datas, int min, int max) { DataWrap[] tmp = new DataWrap[da原创 2013-04-02 16:42:25 · 768 阅读 · 0 评论 -
基数排序
import java.util.Arrays; public class MultiKeyRadixSort { /** * @param data 待排序的数组 * @param radix 指定关键字拆分的进制。如radix=10,表明按10进制拆分 * @param d 指定将关键字拆分成几个子关键字 */ public static void radixSor翻译 2013-04-02 16:47:34 · 704 阅读 · 0 评论