您的位置:首页 > 科技 > 能源 > 时间复杂度计算 递归(solve2 后续)

时间复杂度计算 递归(solve2 后续)

2024/9/22 21:01:35 来源:https://blog.csdn.net/2401_84512298/article/details/142315820  浏览:    关键词:时间复杂度计算 递归(solve2 后续)

原帖
最近校内比较忙,更新缓慢,致歉。
在这里插入图片描述
这里函数每次都需要遍历 h h h m m m 之间的数(复杂度 O ( n ) O(n) O(n)),所以和 solve1 略有不同。仍然假设 T ⁡ ( n ) \operatorname{T}(n) T(n) 表示 m − h + 1 = n m-h+1=n mh+1=n 时的复杂度。
T ⁡ ( n ) = 2 × T ⁡ ( n / 2 ) + n = 2 × ( 2 × T ⁡ ( n / 4 ) + n / 2 ) + n = 4 × T ⁡ ( n / 4 ) + 2 n \operatorname{T}(n)=2\times\operatorname{T}(n/2)+n=2\times(2\times\operatorname{T}(n/4)+n/2)+n=4\times\operatorname{T}(n/4)+2n T(n)=2×T(n/2)+n=2×(2×T(n/4)+n/2)+n=4×T(n/4)+2n
总结一下规律,就是: T ⁡ ( n ) = 2 k × T ⁡ ( n / 2 k ) + k n \operatorname{T}(n)=2^k\times\operatorname{T}(n/2^k)+kn T(n)=2k×T(n/2k)+kn,这里 k = l o g 2 n k=log_2n k=log2n。(假设 k k k 是下取整的,造成的误差在计算时间复杂度时可忽略不计)。
T ⁡ ( n ) = 2 k + n k = n + n k \operatorname{T}(n)=2^{k}+nk=n+nk T(n)=2k+nk=n+nk,相当于 O ( n l o g n ) O(nlogn) O(nlogn) 的复杂度。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com