博客专栏  >  移动开发   >  常见排序算法

常见排序算法

常见排序算法Java实现 参考《算法导论》《数据结构高分笔记》

关注
1 已关注
11篇博文
  • 排序算法比较

    就下图吧

    2016-07-06 20:45
    264
  • 桶排序

    思想桶排序(Bucket sort)是一种基于计数的排序算法,工作的原理是将数据分到有限数量的桶子里,然后每个桶再分别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。当要被排序的...

    2016-07-04 21:44
    356
  • 基数排序

    思想类似于桶排序,按照某种规则将相同规则的数放在一起,最后使得序列有序。基数排序是按照数字每位数出现的数字进行排序,每位数出现的数字可能是:0、1、2、3、4、5、6、7、8、9,按照这10个数分到不...

    2016-07-04 20:07
    1773
  • 计数排序

    思想计数排序假设n个输入元素中的每一个都是在0到k区间内的一个整数,其中k是为某个整数。 对每一个输入元素x,确定小于x的元素个数。利用这一信息,就可以直接把x放在它在输出数组中的位置上。假设序列中...

    2016-07-04 17:09
    2462
  • 堆排序

    思想堆是什么? 堆是一个数组,它可以被看成一个近似的完全二叉树,树上的每一个结点对应数组中的一个元素。除去最底层外,该树是完全充满的,而且从左到右填充。 堆分为大顶堆和小顶堆 大顶堆:结点 i ...

    2016-07-04 16:21
    374
  • 归并排序

    思想归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。步骤归并排序工作原理:(假设序列共有n个元素): 1.将序列每相邻两...

    2016-07-04 15:27
    428
  • 简单选择排序

    思想从头到尾扫描序列,找到最小的一个元素,与第一个元素交换,接着在剩下的元素中继续找最小交换,使得最终有序步骤1.选择第1小的元素,放在第一个位置 2.选择第2小的元素,放在第二个位置 3.直到所...

    2016-07-01 17:14
    251
  • 快速排序

    思想快速排序是基于分治策略的。对一个子数组A[p…r]快速排序的分治过程的三个步骤为:分解:数组A[p…r]被划分成两个(可能空)子数组A[p…q-1]和A[q+1…r],使得A[p…q-1]中的每个...

    2016-07-01 16:42
    230
  • 冒泡排序

    思想它是经过一系列的交换动作。首先第一个元素和第二个元素比较,如果第一个大,则二者交换,否则不交换;然后第二个元素和第三个元素交换,若果第二个元素大,则交换,否则不交换……直到按照这种方式进行下去,最...

    2016-07-01 16:24
    268
  • 折半插入排序

    思想直接插入排序其插入位置是在部分排序数组的后面开始判断找到插入位置,而折半插入排序是利用二分查找的方式找到插入位置算法package alg.sort;public class BinInsertS...

    2016-07-01 16:03
    241
  • 直接插入排序

    思想每次将一个待排序的元素作为关键字,按照其关键字值的大小插入的已经排号的部分序列中的适当位置,直到插入完成步骤1.从第一个元素开始,该元素可以认为已经被排序 2.取出下一个元素,在已经排序的元素序...

    2016-07-01 15:22
    242
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部