排序算法思想与实现

  • 选择排序

  • 核心思想:
  1. 找最小值
  2. 放在左边(交换位置)
  3. 不断迭代

排序算法思想与实现

插入排序

适合场景: 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序。

核心思想:

  1. 每步将一个待排序的记录,按其值的大小插入前面已经排序的文件中适当位置上
  2. 不断迭代
  3. 排序算法思想与实现
  4. 插入排序在大量数据有序的情况下,时间复杂度为0(N),和未排序的键值对有关

Shell排序

它是在插入排序基础上的优化,适合大量的无序的数据排序

思想:

  1. 先转换为部分有序(通过跳跃性逻辑分组【比如1,5,9,13】),
  2. 将每个小组进行排序
  3. 直到增量=1变为插入排序

排序算法思想与实现