【发布时间】:2014-04-17 15:32:00
【问题描述】:
我很难理解基数排序。我在实现代码以使用 2 或 10 的基数时没有问题。但是,我有一个需要命令行参数来指定基数的分配。基数可以是 2 - 100,000 之间的任何值。我花了大约 10 个小时试图理解这个问题。我不要求直接回答,因为这是家庭作业。但是,如果有人可以对此有所了解,请这样做。
有些东西我不明白。基数为 100,000 有什么意义?那怎么行。我知道字母表中的每个字母或每个数字 1-9 都有一个基数。我似乎无法理解这个概念。
如果我不够具体,我很抱歉。
【问题讨论】:
-
您可以将任何基数表示为数字数组...例如基数为 10 的 255 = {5,5,2} 或基数 2,{1,1,1,1,1, 1,1,1} 对于任何高于 255 的基数 {255}
-
好的,谢谢。例如,我如何以 177 为基数表示 255?
-
很难回答,因为我们的编号系统中没有 177 位数字
-
这就是我遇到的麻烦。
-
也许你需要停止思考文本表示的方式——比如“我能想出多少个唯一的数字符号”——想想一个数字可以用任何基数表示的事实@987654321 @作为总和
d0 * b^0 + d1 + b^1 + d2 * b^2 ....。在这种情况下,您的 255 基数 177 变为 {78, 1},因为255 = 78 * 177^0 + 1 * 177^1。您只需要找到多项式的系数...
标签: c sorting base radix-sort radix