笔者今天学习后缀数组,发现需要用到基数排序,所以赶紧学习一波。
基数排序是基于关键字排序,先比较第一个关键字,再比较第二个关键字。。。
举个栗子:假如我们有一堆数,17,8,25,78,123,512,250
实际操作时,是将依次将个位、十位、百位的相同的数放入同一个桶中,高位不足补零。然后再从桶中收集元素。
一、先按个位排序,将个位相同的数放入同一个桶中
0:250
1:
2:512
3:
4:
5:25
6:
7:17
8:8,78
9:
然后我们从桶中收集元素依次得到:250,512,25,17,8,78
二、按十位排序,将十位相同的数放入同一个桶中
0:8
1:512,17
2:25
3:
4:
5:250
6:
7:78
8:
9:
然后我们从桶中收集元素依次得到:8,512,17,25,250,78
三、最后按百位排序,将百位相同的数放入一个桶中
0:8,17&#x