我正在做一些考试题,但在这个问题上卡住了。已知快速排序算法的时间复杂度为O(nlog(n))
。对于特定的输入大小,排序所需时间为4分钟。问题继续问在同一系统上,对一个两倍大小的列表进行排序需要多长时间。
我已经排除了时间是8
分钟(输入大小加倍,持续时间加倍,非常错误的推理)。
我的一些计算:
计算 A
4 = nlog(n)
4 = log(n^n)
16 = n^n
- 我在这里基本上卡住了。
计算 B
X = 2nlog(2n) >> 2n
因为输入加倍X = 2n(1 + log(n))
X = 2n + 2nlog(n) >> nlog(n)
是4
分钟X = 2n + 2(4) = 2n + 8
- 我再次在这里卡住了。