Pierre Terdiman在他的文章"重新访问基数排序"中告诉我们:
例如,你需要4次来排序标准的32位整数,因为在十六进制中,基数是一个字节。
但是0xAB有两个根,即A和B,都是4位宽。
十六进制的基数是多少?因为我看不懂这篇文章
据我所知,0xAB
只是基数的一个例子。当接近基数排序时,更容易使用字节(不需要移位-只转换,无论如何,在C/C++
中)。
句子的最后一部分是最重要的:
因为在十六进制中基数是字节
说了这句话之后,不管之前说什么都不重要了…
只是为了加强论证,检查他的例子- SortedBuffer
初始化使用字节作为基数(256*sizeof(int)
),而不是nibble:
memset(SortedBuffer, -1, 256*sizeof(int)); // Fill with –1
(同样,从我对这篇文章的理解…)