我很想知道,当我有一个整数列表并且我需要对它们进行排序时, 并且我知道它们是32位的整数,我可以使用基数排序(将计数排序作为其稳定排序)在o(n)时间对它们进行排序吗?
是不是只使用从LSB开始的数字上的位表示的32个计数排序?
我知道没有先前数据知识的一般排序采用o(nlogn),但不是因为它们是32位整数才能使它成为o(n)排序吗?
谢谢!
答案 0 :(得分:0)
是的!基数排序对于无符号整数可以正常工作,对于有符号整数也可以(稍微多一些工作)。
有趣的是,如果它们的位被重新解释为整数,它也适用于非NaN非负浮点数。 (负浮点数需要更多的工作,可能不值得。)