算法的复杂性是什么:T(n)= 3 * T(n÷b)+n²+ 1? 问一个问题
一个
您能帮我知道T(n)= 3 * T(n÷b)+n²+ 1的复杂度是什么。
由于我不得不做一个学校演讲来解决这个问题,所以我一直在尝试了解算法复杂度计算的主要方法,但是我并不能很好地解决它。如果您可以建议我,我会非常重视。
谢谢!
答案 0 :(得分:2)
如果b等于1,则母版的临界系数不确定,并且不满足规则性条件。在那种情况下,T(n)根本无法很好地定义,并且没有任何合理的解决方案。
如果b等于2,则主定理的临界系数为log_2(3),并且n ^ log_2(3)= O(n ^ 2)...也是因为T(n)在这种情况下满足规则性定理告诉我们这里的复杂度是O(n ^ 2)。
实际上,对于任何大于2的b,也适用上述分析:对于大于1的整数b,log_b(3)始终小于2。对于任何这样的选择,都将满足规则性,因此我们始终处于主定理的第3种情况,且T(n)= O(n ^ 2)。