02. 基数排序算法
<h1>1. 基数排序算法</h1>
<p>算法描述:基数排序类似计数排序,需要额外的空间来记录对应的基数内的数据 额外的空间是有序的,最终时间复杂度<strong>O(nlogrm)</strong>,r是基数,r^m=n.当给定 特定的范围,计数排序又可以叫桶排序,当以10进制为基数时就是简单的桶排序</p>
<h4>算法步骤</h4>
<ul>
<li>从个位开始排序,从低到高进行递推</li>
<li>比较过程中如果遇到高位相同时,顺序不变</li>
</ul>
<h4>算法分两类</h4>
<ol>
<li>低位排序LSD</li>
<li>
<p>高位排序MSD</p>
<p>package sort</p>
<p>import "fmt"</p>
<p>func main() {
var arr [3][]int
myarr := []int{1, 2, 3, 1, 1, 2, 2, 2, 2, 2, 3}
for i := 0; i < len(myarr); i++ {
arr[myarr[i]-1] = append(arr[myarr[i]-1], myarr[i])
}
fmt.Println(arr)
}</p>
</li>
</ol>