算法原理(以排序10万个手机号码为例)

  1. 比较两个手机号码a和b的大小,如果a前面的高位比b的大,那么后面的就不用看了;
  2. 借助稳定排序算法的思想,可以先按照最后一位来排序手机号码,然后再按照倒数第二位重新排序,最后按照第一位重新排序;
  3. 经过11次排序后,手机号码就变为有序的了;
  4. 每次排序有序数据范围较小,可以使用桶排序或计数排序来完成。

数据结构定义和算法--排序--基数排序

使用条件

  1. 要求数据可以分割独立的“位”来比较;
  2. 位之间有递进关系,如果高位的大,那么低位的就不用比较了;
  3. 每一位的数据范围不能过大,要能用线性排序,否则排序时间就做不到O(n); 

 

相关文章: