我的一个功课问题是我得出了功能的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)前面添加一个大常数,从长远来看,完整的等式似乎仍然增长得更快。我是否过分依赖图表,或者我的逻辑实际上是错误的?
谢谢!
答案 0 :(得分:0)
复杂性是c ^ x。 c ^ x优先的原因是因为它是一个指数,并且因为随着x变大,指数增长的速度有多快。当您查看图形时,整个函数当然会增长得更快,但随着x变大,这种差异变得无关紧要。
示例:假设常数c = 10.让我们探讨当x变大时会发生什么。
10 ^ 5 = 10万= 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,000,000,000,000,000,000,000,000,000,000,000,000
你明白了这一点,指数的增长速度非常快,随着x的增长,c ^ x与函数其余部分之间的差异变得非常微不足道。复杂性理论是关于找到最快增长的单个术语,整体函数的速率并不重要,这就是原因。
注意:抱歉,如果这个答案迟到了,可以帮助你完成作业