time-complexity - f(n) 的复杂度 = b*n+f(n-1)

标签 time-complexity quicksort asymptotic-complexity

我正在查看一份算法 PPT,其中有一次给出 f(n) = b*n + f((n-1) 的复杂度为 O(n^2)。 我的分析是:f(n) = b*n + f(n-1)

=b*n + b*(n-1) + b*(n-2)...

= c * n

其中C是常数。这使得复杂度达到 O(n)。我很确定我在某个地方出错了。有人能解释一下吗?

最佳答案

=b*n + b*(n-1) + b*(n-2)...

此等式中将是“n”次求和,因此您不能将其替换为 C,它将是“n”中的“n”次求和,因此为 n^2

关于time-complexity - f(n) 的复杂度 = b*n+f(n-1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129603/

相关文章:

java - 将数据存储为具有空/空值的 HashMap 中的键是一个好主意吗?

algorithm - 在 O(nlog*n) 和 O(n) 之间?

algorithm - 寻找最长复合词的时间复杂度

c - 字符数组初始化的时间复杂度是多少?

loops - 双循环函数的时间复合体

java - 仅使用一种方法使用 fastSort 对整数 vector 进行排序(无需 Medianof3 或分区方法,如经典实现)

big-o - 此代码的大 O 时间复杂度

python - WIKIPEDIA 在 python 中所说的快速排序算法

python - 为什么多线程快速排序比Python中的普通快速排序慢?

algorithm - 如何求解递归 T(n) = T(n/2) + T(n/4), T(1) = 0, T(2) = 1 即 T(n) = Θ(n lg φ ),其中 φ 是黄金比例?