老狗啃骨头
@Veiking
2020-11-16
老狗啃骨头之算法-排序算法总结
关于排序的算法,还有很多种。还有一些排序算法的思想,在不同的使用场景下再结合其它的算法逻辑,又可以衍生出新的算法设计。比如基数排序,就是在桶排序的基础上,按照一定的规则进行递归;还有计数排序,也是类似原理。除了这些常见的排序,还有一些比较典型的算法,像什么奇偶排序、梳排序、耐心排序、图书馆排序等等
关于排序的算法,还有很多种。还有一些排序算法的思想,在不同的使用场景下再结合其它的算法逻辑,又可以衍生出新的算法设计。比如基数排序,就是在桶排序的基础上,按照一定的规则进行递归;还有计数排序,也是类似原理。除了这些常见的排序,还有一些比较典型的算法,像什么奇偶排序、梳排序、耐心排序、图书馆排序等等
基数排序是一种不在数据值本身之间比较的排序算法,而是通过数据按位数“切割”对比,从而实现排序的算法,所以基数排序也被认为是一种典型的非比较排序算法。在实际运用中,基数排序的使用场景不局限于整数,凡是整数可以表达的,或者有规律格式的字符串,都适用。基数排序的发明,据说是赫尔曼·霍尔瑞斯在1887年总结出来的
快速排序,又称分区交换排序,简称快排。它也是一种交换排序,它是一种在处理大量数据方面有优势的算法。当数据量巨大的时候,冒泡排序这种中规中矩,挨次遍历逐个对比的玩法,估计会让人抓毛的,于是据说在公元1960年,一位叫东尼·霍尔(C. A. R. Hoare)的大神,沐浴斋戒,焚香祷告…..苦思冥想,终得所创
排序,就是将一组无序的数据,按照一定规则,使其有序化排列。排序时是否根据比较来决定元素间的相对次序,还可以分为比较类排序、非比较类排序。无论什么分类,都是尝试将其算法特征进行归纳,是为了方便我们学习的,融会贯通,这些名称分类即使以后都忘了,在设计程序算法的时候,也会潜移默化的影响着我们,这才是最后真正的目的