算法的复杂性是什么:T(n)= 3 * T(n÷b)+n²+ 1?

问题描述 投票:1回答:1

算法的复杂性是什么:T(n)= 3 * T(n÷b)+n²+ 1?问一个问题

你能帮我解释一下复杂性是多少:T(n)= 3 * T(n÷b)+n²+ 1.当n> 1?

我一直试图理解一些计算算法复杂性的主要方法,因为我必须做一个学校演示来解决这个问题,但我还没有能够很好地解决它。如果你能告诉我,我会非常重视。

谢谢!

algorithm math time-complexity complexity-theory recurrence
1个回答
2
投票

如果b等于1,则主数据的临界系数是未定义的,并且不满足规则性条件。在这种情况下,T(n)根本没有明确定义,也没有任何合理的解决方案。

如果b等于2,则主定理的临界系数为log_2(3)且n ^ log_2(3)= O(n ^ 2)...也因为T(n)在这种情况下满足规律性,Master定理告诉我们这里的复杂性是O(n ^ 2)。

实际上,对于任何大于2的b,上述分析也适用:对于大于1的整数b,log_b(3)总是小于2.对于任何这样的选择,将满足规律性,因此我们总是在3的情况下主定理并且具有T(n)= O(n ^ 2)。

© www.soinside.com 2019 - 2024. All rights reserved.