首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

关于基数排序最坏空间复杂度,该如何处理

2013-02-20 
关于基数排序最坏空间复杂度http://en.wikipedia.org/wiki/Radix_sort谁能说说基数排序为何最坏空间复杂度

关于基数排序最坏空间复杂度
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的桶子中: 

1 81 
2 22 
3 73 93 43 
4 14 
5 55 65 


8 28 
9 39 
接下来将这些桶子中的数值重新串接起来,成为以下的数列: 
81, 22, 73, 93, 43, 14, 55, 65, 28, 39 
接着再进行一次分配,这次是根据十位数来分配: 

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

热点排行