常见算法

十种常见排序算法可以分为两大类:

非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。

线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。

849589-20180402132530342-980121409.png

算法复杂度

849589-20180402133438219-1946132192.png

1、冒泡排序(Bubble Sort)

849589-20171015223238449-2146169197.gif

2、选择排序(Selection Sort)

849589-20171015224719590-1433219824.gif

3、插入排序(Insertion Sort)

849589-20171015225645277-1151100000.gif

4、希尔排序(Shell Sort)

849589-20180331170017421-364506073.gif

5、归并排序(Merge Sort)

849589-20171015230557043-37375010.gif

6、快速排序(Quick Sort)

849589-20171015230936371-1413523412.gif

7、堆排序(Heap Sort)

849589-20171015231308699-356134237.gif

8、计数排序(Counting Sort)

849589-20171015231740840-6968181.gif

9、桶排序(Bucket Sort)

849589-20171015232107090-1920702011.png

本文摘自 十大经典排序算法(动图演示)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容