针对最近笔试的一些排序算法总结(未完待续)

常见的十大排序算法有:

简单的:冒泡排序,插入排序,选择排序

较复杂的:快速排序,希尔排序,归并排序,堆排序

相对不常见的:基数排序,桶排序,计数排序


1、时间复杂度为O(n^2)的排序算法:冒泡排序,插入排序,选择排序

2、时间复杂度为O(n*log2n)的排序算法:快速排序,希尔排序,归并排序,堆排序

3、空间复杂度为O(n)(辅助空间)的排序算法:归并排序

4、空间复杂度为O(n*log2n)(辅助空间)的排序算法:快速排序

5、基于“交换”的排序算法:冒泡排序,快速排序

6、基于“分治”的排序算法:快速排序,归并排序

7、稳定的排序算法:冒泡排序,插入排序,归并排序,基数排序,桶排序,计数排序

8、不稳定的排序算法:选择排序,快速排序,堆排序,希尔排序

9、需要额外空间的排序算法:快速排序,希尔排序、归并排序、基数排序、计数排序,桶排序

10、不需要额外空间的排序算法:插入排序、选择排序、冒泡排序、堆排序


(总结这些只是为了方便查阅,更重要的是理解这些算法!加油!)

你可能感兴趣的:(算法)