【发布时间】:2015-12-09 19:15:44
【问题描述】:
递归关系的时间复杂度由下式给出:
T(n) = aT(n/b) + f(n) 这里f(n) 是征服子问题的成本,即合并成本
所有子问题都是为了解决问题,但是在分区的情况下,我们围绕特定的枢轴点划分数组,所以在计算快速排序的时间复杂度时,为什么我们采用O(n)
f(n)的时间。
这是如何成为征服的一步?
【问题讨论】:
-
我不明白这个问题;您是否觉得在生成实际较小的实例之前重新排列输入令人困惑?
-
不,我只是问 f(n) 被认为是合并子问题的解决方案以解决整个问题所花费的时间,因此它应该被视为成本克服分治算法的问题,但在快速排序的情况下,分区算法实际上是围绕一个枢轴对数组进行分区,那么它在哪里解决了整个问题?
标签: algorithm time-complexity theory