给定n
个数字,范围为[0,n^2 -1]
,如何在O(n)
的时间内对它们进行排序?
我感觉解决方案涉及到基数排序
,但我还缺少一些东西。
n
个数字是整数。
有什么想法吗?
备注:不是作业!
问候
给定n
个数字,范围为[0,n^2 -1]
,如何在O(n)
的时间内对它们进行排序?
我感觉解决方案涉及到基数排序
,但我还缺少一些东西。
n
个数字是整数。
有什么想法吗?
备注:不是作业!
问候
我认为你运气不太好。 基数排序的时间复杂度是O(k*n),其中k是数字的位数。 在你的情况下,k = log(n^2),所以时间复杂度是O(n*log(n))。
(L+R)/2
,但在分析中,假定加法需要在O(1)
时间内完成。 - sdcvvc