java - O(N!*N) 是一个可接受的大复杂度类,还是我删除常量并只说 O(N!) ?

标签 java big-o

O(N!N) 是一个可接受的大复杂度类,还是我删除常量并只说 O(N!)?

最佳答案

参见What is O(log(n!)) and O(n!) and Stirling Approximation ,它讨论了 O(n!)O(n^n) 之间的关系。当您乘以 n 时,这应该可以帮助您确定适当的大 O。

问题中的附加 n 不是常量,并且不受 n! 支配,因此当您从函数转换时,它不会从函数中消失函数的实际值到函数的 Big-O(或 Big-Theta)渐近复杂度类别。

对于 Big-O,可能说 O(n^(n+1)) 就足够了,但对于 Big-Theta 来说还不够。

这是一个涉及 Big-O 和阶乘的相关问题:https://math.stackexchange.com/questions/323290/stirlings-approximation

关于java - O(N!*N) 是一个可接受的大复杂度类,还是我删除常量并只说 O(N!) ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53111440/

相关文章:

arrays - 在 O(logn) 中查找三个排序数组中的中位数

java - 如何检查Junit是否正在使用JunitRunner或PowermockRunner运行

java - 动态加载的类无法访问Applet加载的类

java - JVM 进行了一次完整的 GC,然后就没有剩余的系统内存了

java - 如何创建幂等的 @RabbitListener

performance - for循环的运行时间

Java-KeyEvent变量

algorithm - 我如何计算复杂性

c# - 比较 List<string> 是否包含字符串 C#

c++ - std::sort 可以专门使用 as-if 规则对 int* 使用冒泡排序吗?