关于基数排序最坏空间复杂度
http://en.wikipedia.org/wiki/Radix_sort
谁能说说基数排序为何最坏空间复杂度是O(kn),时间复杂度是O(kn)能明白。
[解决办法]
好吧,我没看懂的说,帮顶!
[解决办法]
基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LSD的排序方式由键值的最右边开始,而MSD则相反,由键值的最左边开始。
以LSD为例,假设原来有一串数值如下所示:
73, 22, 93, 43, 55, 14, 28, 65, 39, 81
首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中:
0
1 81
2 22
3 73 93 43
4 14
5 55 65
6
7
8 28
9 39
接下来将这些桶子中的数值重新串接起来,成为以下的数列:
81, 22, 73, 93, 43, 14, 55, 65, 28, 39
接着再进行一次分配,这次是根据十位数来分配:
0
1 14
2 22 28
3 39
4 43
5 55
6 65
7 73
8 81
9 93
接下来将这些桶子中的数值重新串接起来,成为以下的数列:
14, 22, 28, 39, 43, 55, 65, 73, 81, 93
每一次都要保存待排数值,n是排序元素个数,k是数字位数,空间复杂度最坏最好都是O(kn)吧
[解决办法]
http://wenku.baidu.com/view/dd4d6817866fb84ae45c8d3c.html