博客专栏  >  研发管理   >  排序算法

排序算法

列出常见的排序算法,并给出示例演示

关注
1 已关注
8篇博文
  • 堆排序

    排序定义 堆排序是利用树的结构特性,构造大顶堆或者小顶堆,通过替换与调整在原有数组上进行排序。 实现形式 以递增排序为例,将待排序数组构造为大顶堆(不需额外的数据空间,在自身数组上进行操作,原地排序,...

    2016-08-19 13:14
    306
  • 基数排序

    定义 与其他常规排序方式不同,基数排序不是根据元素的大小进行调换位置,进而形成有序列表,或者更严格来讲,基数排序不是直接根据元素整体的大小进行元素比较,而是将原始列表元素分成多个部分,对每一部分按一定...

    2016-08-28 14:05
    312
  • 冒泡排序

    定义 冒泡排序作为最常见的排序方式之一,其操作是在相邻的两个元素之间进行比较交换,每一次排序结果都能取出一个最大(最小)值,一个n个元素的待排序列表,最多只需要进行(n-1)次排序即可。 示例 以整型...

    2016-10-28 12:15
    234
  • 选择排序

    定义 由名称可知,选择排序的操作是通过不断选择待排序列表中的最大(最小)值,由此构成一个有序列表。冒泡排序的每次排序也是选出列表极值,不过其操作是通过不断比较替换相邻元素实现的,选择排序的每次排序是记...

    2016-10-28 15:17
    233
  • 快速排序

    定义 快速排序采用递归的思想,不断将原列表拆分成两个部分,递归进行排序。排序操作为选择一个元素作为“分水岭”,将列表分成所有元素值大于该“分水岭”部分和所有元素值小于该“分水岭”部分。 示例 以整...

    2016-10-28 16:13
    214
  • 插入排序

    定义 插入排序的原理是将元素不断插入有序的局部列表中,最终形成有序列表。n个元素的待排序列表,需要进行(n-1)排序才能形成有序列表。 示例 以整型数组{2,9,11,5,7,20,8}为例: ...

    2016-10-28 16:36
    266
  • 希尔排序

    定义 希尔排序属于缩小增量排序,原理同插入排序。在以D作为增量的序列中,实现插入排序,形成以D为增量的子序列的有序列表,不断缩小增量执行排序操作,当增量为一时,即为普通的插入排序。 示例 以整型数...

    2016-10-28 17:12
    251
  • 归并排序

    定义 归并排序是将列表细分为子列表,然后将子列表进行有序合并。将列表细分到单个元素,如列表arr,包含两个元素[a,b],将arr细分为两个子列表arr1{a}和arr2{b},则对子列表的有序合并即...

    2016-10-28 18:49
    227

Java并发
83700
设计模式
102517
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部