如何解决我需要帮助找到此函数的时间复杂度
如果有人可以逐步完成该功能并解释如何找到时间复杂度,我将非常感激。在这方面,我还是有点迷茫。
int exp2 (int a,int b)
{
if (b==1)
return a;
Else
return a*exp2(a,b-1);
}
解决方法
O(b)。
请注意,该函数将重复 b 次,执行一次操作(乘法)。
(1) exp(4,20) = 4 * exp(4,19)
(2) exp(4,19) = 4 * exp(4,18)
(3) exp(4,18) = 4 * exp(4,17)
...
(b) exp(4,1) = 4
,
这等效于将a
提高到b-1
的幂。使用的操作数为b-1
。它与b
成比例增加,因此复杂度为O(b)
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。