algorithm - 运行时间与日志总和成正比的算法的时间复杂度

标签 algorithm time-complexity

<分区>

我有一个算法,其运行时间与 log(1) + log(2) + ... + log(N) 成正比。显然,该算法在 O(N log(N)) 时间内运行。然而,我有一种直觉,可能会有更严格的界限,因为我生成的那个使用最大对数项的值来限制所有对数项,即使许多项要小得多。我对么?是否有更严格的界限,仍然可以简单地用算术表达?

最佳答案

log(1) + log(2) + ... + log(N) 将是 log(1*2*3*4*5*..... ..*n)

等于 log (n!) 斯特林近似 Sterling's Approximation

可以等同于 log(n^n) 因为 log (a^b)= b log a

相当于(n log n) 并回答你的另一个问题,在这种情况下我看不出有任何更严格的限制。 我希望这会有所帮助。

关于algorithm - 运行时间与日志总和成正比的算法的时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45529317/

相关文章:

algorithm - 汉诺塔有两个辅助杆

PHP 对数组的数组进行排序

algorithm - 为什么线性函数的复杂度与二次方程的复杂度相同

python - 在 python 中将列表转换为元组的时间复杂度,反之亦然

java - 分区标签问题的空间复杂度

java - 当给定每行和每列的最大元素时,计算二维数组的最大元素,时间复杂度为 O(logn)

algorithm - 如何找到特定程序的运行时间?

python - 使用 Python 进行 Digram 列表操作

algorithm - 克鲁斯卡尔的 MST : Union operation using Union-Find DS: Guarantee on join taking place between the nodes with least edge weight

algorithm - 从片段集中推断适配器序列