Go 18.0 专业五


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 &quot;fmt&quot;</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 &lt; len(myarr); i++ { arr[myarr[i]-1] = append(arr[myarr[i]-1], myarr[i]) } fmt.Println(arr) }</p> </li> </ol>

页面列表

ITEM_HTML