gpt4 book ai didi

algorithm - 递归复杂,答案错了?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:34 24 4
gpt4 key购买 nike

我有以下代码,我想求其复杂度:

analizz(int n) 
c = 1
k = n*n
while k > 1 do k = k - 2
for i = 0 to 1 do
if n >1 then analizz(n/2)

以这种方式编写的代码的问题,我试图理解,FOR 循环在 while 循环内,所以成本应该是 O(n^2),如果 n > 1 则递归调用一次, 所以 T(n/2).

答案应该是 T(n) = 2T(n/2) + cn2 ,我不明白 2T(n/2) 到底是怎么来的?如果只有一个递归调用?

ps.我不知道哪个标题最能描述我的问题

最佳答案

代码写得不好,但如果答案正确,for 不在 while 循环内,而 if 在里面for 循环。 while 给出了 cn^2 并且两个递归调用在 for 循环中

关于algorithm - 递归复杂,答案错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56508899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com