【问题标题】:Big-Oh Complexity of Multi-Term Function多项函数的大 O 复杂度
【发布时间】:2015-01-29 04:53:45
【问题描述】:

我的一个作业问题是推导函数的 Big-Oh 复杂性:

c^x + x(log(x))^2 + (10x)^c(其中 c 是一个常数 > 1)

我知道在这三个项中,c^x 增长最快,这让我相信复杂度只是 c^x。然而,我怀疑我们会得到一个容易解决的问题,所以我只绘制了 c^x(使用 4 作为 c)与整个方程的关系图。正如预期的那样,整个方程式增长得更快。但即使在 c^x (1000*c^x) 前面加上一个大常数后,从长远来看,整个方程似乎仍然增长得更快。我是否过于依赖图表,或者我的逻辑实际上是错误的?

谢谢!

【问题讨论】:

    标签: math big-o asymptotic-complexity


    【解决方案1】:

    复杂度是 c^x。 c^x 优先的原因是因为它是指数的,并且随着 x 变大,指数增长的速度有多快。当您查看图表时,整个函数当然会增长得更快,但随着 x 变大,这种差异变得无关紧要。

    示例:假设常数 c = 10。让我们探索随着 x 变大会发生什么。

    10^5 = 100,000 = 100,000

    10^10 = 100 亿 = 10,000,000,000

    10^100 = 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,00,000,0000,0000,

    你明白了,指数增长得如此之快,以至于随着 x 的增长,c^x 与函数其余部分之间的差异变得完全微不足道。复杂性理论是关于找到增长最快的单个项,函数作为一个整体的速率并不重要,这就是原因。

    注意:如果这个答案对你的家庭作业有帮助,对不起

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多