You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.2 KiB

排序算法

  • 引言

    排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,各种集成的api已经帮我们省略了思考如何构建排序的时间,但如果我们从原理上出发,了解它们的实现机制,对我们学习算法还是十分有好处的。

  • 排序分类

    八大排序算法均属于内部排序。如果按照策略来分类,大致可分为:交换排序、插入排序、选择排序、归并排序和基数排序。如下图所示:

分类

  • 总结

总结

  • 关键词
    • 冒泡排序
      • 形如冒水泡(大数)
    • 快速排序
      • 归位(关于某值对称的数组)
      • 递归
    • 直接插入排序
      • 扫描位置(指插入的位置)
    • 希尔排序
      • (优化)插入排序(缩小增量排序)
    • 简单选择排序
      • 扫描一遍(获取最小数)
      • 对调位置
    • 堆排序
      • 建堆
      • 交换值并向下调整
    • 归并排序
      • 将两个数组排有序
      • 将两个数组归并到一起
    • 基数排序
      • 百数之内的排序