2.6.3 其他排序算法概述

其他排序算法的使用频率虽然没有快速排序高,但会在很多特定的系统上出现。

桶排序是将所有元素按一定的大小分成N个组,再对每个组进行快速排序,最终得到有序的数组,并得到N个桶的记录,虽然第一次排序的速度不怎么样,但这N个桶记录下来的信息对后面的程序逻辑有非常大的帮助。比如,如果我们需要进行模糊排序或模糊搜索,桶信息就会有很大的帮助。

基数排序是针对元素的特性来实施的“分配式排序”,利用数字的特性,按个位数、十位数、百位数的性质将元素放入0~9个桶中,不用排序,几次合并后就有了序数组,利用元素特性排序的速度比任何其他排序方式都要快。这种算法思路教会我们,在运用算法时可以从元素的特性着手,找到它的特点就有可能找到更合适的算法。

对于基本的、常用的几种排序算法,我们必须了解,面对比较复杂、难解决的问题,我们需要更广阔的思路,算法在实际运用中并不是固定的,适合的才是最好的,我们应该随着问题环境的变化而变化,找到最佳突破口。