十大经典排序算法动画,看我就够了!

Tip 为了演示更加清楚,本文中全部的动画都放慢了速度,所以GIF大小对比以前会有所增大,图片加载速度会变慢,若是你想获取全部的超清动画,在公众号 五分钟学算法 回复 掘金 可得到资料。算法

在前面的章节中详细的讲解分析了十大经典排序算法,本文将进行一个大总结同时分析它们的时间复杂度与稳定性。数据结构

排序算法是《数据结构与算法》中最基本的算法之一。动画

排序算法能够分为内部排序外部排序3d

内部排序是数据记录在内存中进行排序。cdn

而外部排序是因排序的数据很大,一次不能容纳所有的排序记录,在排序过程当中须要访问外存。blog

常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。排序

用一张图归纳:图片

image

关于时间复杂度:

  1. 平方阶 (O(n2)) 排序 各种简单排序:直接插入、直接选择和冒泡排序。
  2. 线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序;
  3. O(n1+§)) 排序,§ 是介于 0 和 1 之间的常数。 希尔排序
  4. 线性阶 (O(n)) 排序 基数排序,此外还有桶、箱排序。

关于稳定性:

  1. 稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。ip

  2. 不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。内存

1. 冒泡排序

image

2. 选择排序

image

3. 插入排序

4. 希尔排序

image

5. 归并排序

image

6. 快速排序

image

7. 堆排序

image

8. 计数排序

image

9. 桶排序

image

10. 基数排序

image
相关文章
相关标签/搜索