参考: 九大基础排序总结与对比
常见排序算法:冒泡排序,插入排序,快速排序,归并排序,选择排序,堆排序,桶排序,基数排序,希尔排序,计数排序
占用额外内存:归并排序,桶排序,计数排序,基数排序
不稳定:选择排序,快速排序,堆排序,希尔排序
上面链接中的对比图,比较清楚:
再加一点:
基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。
利用多关键字先达到局部有序,再调整达到全局有序。
计数排序:假设数序列中小于元素a的个数为n,则直接把a放到第n+1个位置上。当存在几个相同的元素时要做适当的调整,因为不能把所有的元素放到同一个位置上。计数排序假设输入的元素都是0到k之间的整数。