一、算法简介
基数排序(Radix Sort)是一种非比较型的排序算法,适用于待排序元素为非负整数的情况。它根据元素的位数(基数)进行排序,在每一位上对元素进行稳定的排序,最终得到有序序列。
基数排序的基本思想是,按照个位、十位、百位等依次对待排序元素进行排序。首先将待排序元素按照个位数的大小分配到09的桶中,然后按照桶的顺序依次取出元素得到一个新的序列;接着根据十位数的大小再次分配到09的桶中,再次按照桶的顺序取出元素进行排序。直到最高位排序完成,整个序列就变成了一个有序序列。
基数排序的时间复杂度为 O(d*(n+k)),其中 d 是最大元素的位数,n 是待排序元素的数量,k 是基数的大小(例如十进制中的k=10)。由于基数排序是非比较型的排序算法,它不受元素的大小关系影响,因此可以在某些情况下具有较好的性能。
二、算法实现
下面是基数排序的C#实现示例:
public static void RadixSort(