首页 > 编程知识 正文

递归函数的时间复杂度,递归算法的时间复杂度怎么求

时间:2023-05-05 16:07:19 阅读:272946 作者:1086

时间复杂度计算

此笔记来源于左神算法,只用做笔记使用,已注明来源。

此事件复杂度只适用于递归算法,并且递归过程中要求数据规模大体相同

T ( N ) = a ∗ T ( N b ) + O ( N d ) T(N)=a*Tleft(frac{N}{b}right)+O(N^d) T(N)=a∗T(bN​)+O(Nd)

1 当 log ⁡ b a > d log_ba>d logb​a>d 复杂度为 O ( N log ⁡ b a ) Oleft(N^{log_ba}right) O(Nlogb​a)2 当 log ⁡ b a < d log_ba<d logb​a<d 复杂度为 O ( N d ) Oleft(N^dright) O(Nd)3 当 log ⁡ b a = d log_ba=d logb​a=d 复杂度为 O ( N d × log ⁡ N ) Oleft(N^dtimes{log{N}}right) O(Nd×logN)

a为将数据分成几块,b为每块数据占用总数据的数据量, O ( N d ) O(N^d) O(Nd)为每迭代的时间复杂度,然后计算d的值

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。