Big o 指数函数的大O分析

Big o 指数函数的大O分析,big-o,Big O,对于下面的函数 是的 但我一定做错了。。。答案应该是O(logn)。我在大O。。。尚未完全理解尚未在学校教授的主定理。他们只教递归树如果我们假设所有算术运算都在O(1)中完成,那么: 当我们看到每个函数调用时,我们将exp除以2。当我们用exp达到零时,我们完成了。 我们可以将exp除以2多少次而不达到零?这就是log exp。因此log exp函数调用*O(1)会导致log(exp)的复杂性。 求几何序列之和您可以找到另一个问题的答案:在具有n个叶的完整(存在所有兄弟)树中有多少个节点:

对于下面的函数

是的


但我一定做错了。。。答案应该是
O(logn)
。我在大O。。。尚未完全理解尚未在学校教授的主定理。他们只教递归树

如果我们假设所有算术运算都在O(1)中完成,那么: 当我们看到每个函数调用时,我们将exp除以2。当我们用exp达到零时,我们完成了。 我们可以将exp除以2多少次而不达到零?这就是log exp。因此log exp函数调用*O(1)会导致log(exp)的复杂性。 求几何序列之和您可以找到另一个问题的答案:在具有n个叶的完整(存在所有兄弟)树中有多少个节点: 假设n=4:

1' |_1'' |_1''' |_2''' |_2'' |_3''' |_4''' 1' |_1'' |_1''' |_2''' |_2'' |_3''' |_4'''
如果我们假设所有算术运算都是在O(1)中完成的,那么您将在这样一个树中找到节点的计数: 当我们看到每个函数调用时,我们将exp除以2。当我们用exp达到零时,我们完成了。 我们可以将exp除以2多少次而不达到零?这就是log exp。因此log exp函数调用*O(1)会导致log(exp)的复杂性。 求几何序列之和您可以找到另一个问题的答案:在具有n个叶的完整(存在所有兄弟)树中有多少个节点: 假设n=4:

1' |_1'' |_1''' |_2''' |_2'' |_3''' |_4''' 1' |_1'' |_1''' |_2''' |_2'' |_3''' |_4'''
你在这样一个树中找到了节点的计数,你在数学开始时所做的假设是,你在函数调用中花费了“n”时间
Exp(n)
Exp(n/2)
Exp(n/4)
中花费了“n/2”时间,等等


但是,实际上,您在每个函数调用中只花费常量
O(1)
时间。那么,就有了固定时间的
log(n)
函数调用。试着用这个开始的假设来运行剩下的数学,看看你得到了什么。

你在数学开始时所做的假设是,你在函数调用中花费了“n”时间
Exp(n)
Exp(n/2)
中花费了“n/2”时间,在
Exp(n/4)
中花费了“n/4”时间等等


但是,实际上,您在每个函数调用中只花费常量
O(1)
时间。那么,就有了固定时间的
log(n)
函数调用。试着用这个开始的假设来运行你的数学,看看你得到了什么。

关于你的
这是正确的部分吗?
:不。这似乎是(平方和乘法)复杂性与exp有关,它将每个“步骤”减半。当你看到每一步减少一个常数因子时,它通常是对数复杂度。关于你的
,这是正确的部分吗?
:不。这似乎是(平方和乘法)复杂度与exp有关,exp是每一步的一半。当您看到每一步减少一个常数因子时,它通常是对数复杂度。