假设我们有n个整数,其值的范围从0到n ^ 5 -1使用Radix sort对这些数字进行排序的算法复杂度是多少?

问题描述

我不知道是不是

  1. O(n)

  1. O(5log10(n)*(n + 10))= O(nlog10n)

  1. O(n + k)

我可能是错的,但我需要能够对其进行计算才能弄清楚。我真的很困惑。请说明答案并显示任何计算结果。谢谢。

解决方法

如果基数基基于n,例如base = n(5次)或ceil(sqrt(n))(10次),则时间复杂度为O(n),因为像5或10这样的常数是忽略。

如果基数基数独立于n,例如2的幂,例如2 ^ 8 = 256,则通过次数= ceil(log256(n ^ 5)),时间复杂度为O(n log(n))。

该问题未指定基数将使用什么。