【基础】排序算法总结
2016-09-02 10:26
197 查看
参考: 九大基础排序总结与对比
常见排序算法:冒泡排序,插入排序,快速排序,归并排序,选择排序,堆排序,桶排序,基数排序,希尔排序,计数排序
占用额外内存:归并排序,桶排序,计数排序,基数排序
不稳定:选择排序,快速排序,堆排序,希尔排序
上面链接中的对比图,比较清楚:
再加一点:
基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。
利用多关键字先达到局部有序,再调整达到全局有序。
计数排序:假设数序列中小于元素a的个数为n,则直接把a放到第n+1个位置上。当存在几个相同的元素时要做适当的调整,因为不能把所有的元素放到同一个位置上。计数排序假设输入的元素都是0到k之间的整数。
常见排序算法:冒泡排序,插入排序,快速排序,归并排序,选择排序,堆排序,桶排序,基数排序,希尔排序,计数排序
占用额外内存:归并排序,桶排序,计数排序,基数排序
不稳定:选择排序,快速排序,堆排序,希尔排序
上面链接中的对比图,比较清楚:
再加一点:
基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。
利用多关键字先达到局部有序,再调整达到全局有序。
计数排序:假设数序列中小于元素a的个数为n,则直接把a放到第n+1个位置上。当存在几个相同的元素时要做适当的调整,因为不能把所有的元素放到同一个位置上。计数排序假设输入的元素都是0到k之间的整数。
相关文章推荐
- 基础排序算法总结
- 基础排序算法总结
- 三种基础排序算法总结
- 基础排序算法总结
- 常见基础排序算法总结及java代码
- 基础排序算法总结及实现
- Java基础-几种常见排序算法总结
- Java基础学习总结(28)——Java对各种排序算法的实现
- Java基础学习总结(28)——Java对各种排序算法的实现
- 基础排序算法总结(七种排序算法)
- Java基础学习总结(60)——Java常用的八种排序算法
- [Java]各种基础的查找和排序算法总结
- Java基础学习总结(28)——Java对各种排序算法的实现
- [数据结构]九大基础排序算法总结
- python面试之算法基础(排序算法总结与实现)
- 算法基础:基本排序算法原理、实现与总结
- 基础排序算法总结
- ZH奶酪:【数据结构与算法】基础排序算法总结与Python实现
- Java基础学习总结(60)——Java常用的八种排序算法
- 基础排序算法总结