我有一些算法复杂性,我不完全确定大O符号对它们是什么。
(n-1)(n-1)*.*2* 1)/2
( ii) 56 + 2n + n^2 + 3n^3
( iii) 2n(lg n) + 1001
( iv) n^2 * n^3 + 2^n
我相信ii)和iii)是非常简单的,大O( ii)是O(n^3),大O( iii)是O(n log n),但是如果这些是错误的,请告诉我。
主要是我)和iv)我有点搞不懂。对于我,我假设它遵循与1+2+3+4+...+n相同的概念,它有O(n^2)的大O表示法,所以这就是我所放的,iv)我放O(n^5),但我不确定2^n是否会影响大O表示法,在这里我不确定什么是优先级,还是只包括两者?
任何帮助都将是非常感谢的,我没有那么有经验的大O符号,所以任何建议都将是真正有帮助的。
提前感谢
发布于 2022-05-20 18:59:07
因为问题i是从1乘(而不是添加)从1乘到n,那应该是O(n!)。
你说对了,n^3是主导项,所以它是O(n^3),在iii上,常数2和1001都可以忽略,只剩下O(n log n)。
( iv)将前两个项组合起来得到n^5是正确的,但即使这样,最终也会被2^n项超越,所以答案是O(2^n)。
https://stackoverflow.com/questions/72323278
复制相似问题