基数排序O(n)

最近学习了一个比较有意思的排序算法,

参考  https://mp.weixin.qq.com/s/K4DSGgkL65ke_rnHOxGDAQ

基数排序法,时间复杂度只有O(n);

这个算法有一些限制:

  1. 都是正整数或者负整数

算法其实很简单,就是把每一个数  按照  个、十、百、千..... 这样拆分开分组排序

  • 先把拆分各个数的个位数,按个位数排序;每个个位数就会对应 0-n个真实的数,得到一个有序的数组
  • 然后在将各个数的十位进行上一个步骤,得到一个新的有序数组
  • 依次类推,将每一位都进行上面的操作,就得到一个最终有序的数组
posted @ 2021-10-14 10:02  lion_eagle  阅读(49)  评论(0编辑  收藏  举报