排序算法

102 阅读1分钟

GO 1.19 排序算法

经典排序算法

插入排序

将元素不断插入已经排序好的序列中 时间复杂度

  • best On
  • avg O n ^ 2
  • worst O n ^ 2

快速排序

分治

  • pivot
  • 分割序列

堆排序

  • 大顶堆

  • 交换根节点 时间复杂度 O n * log n

  • 插入排序在有序的情况下最快

  • 快速排序有比较好的综合性能

  • 堆排序表现比较稳定

pdqsort

不稳定的混合排序算法

插入排序

将元素不断插入已经排序好的序列中 时间复杂度

  • best On
  • avg O n ^ 2
  • worst O n ^ 2

快速排序

分治

  • pivot
  • 分割序列

堆排序

  • 大顶堆

  • 交换根节点 时间复杂度 O n * log n

  • 插入排序在有序的情况下最快

  • 快速排序有比较好的综合性能

  • 堆排序表现比较稳定