某递归算法的时间复杂度计算公式为T(n)=4T (n/2)+nlgn,其中n为问题规模,则该算法的时间复杂度是( )。
C
递归式 T(n) = 4T(n/2) + nlgn 的时间复杂度可通过 主定理 分析:1. 主定理形式:对形如 T(n) = aT(n/b) + f(n) 的递归式,主定理通过比较 f(n) 与 n^(log_b a) 的阶来确定时间复杂度。2. 参数分析:a = 4,b = 2 → log_b a = log₂4 = 2,因此 n^(log_b a) = n²。f(n) = nlgn,需与 n² 比较阶。3. 主定理情况判断:若 f(n) = O(n^{log_b a - ε})(存在 ε > 0),则 T(n) = Θ(n^{log_b a})。这里 nlgn 的阶低于 n²(因为 lgn 的增长速度远慢于 n),且存在 ε = 0.5 使得 nlgn = O(n^{2 - 0.5}) = O(n^{1.5})。因此满足 情况1,时间复杂度为 Θ(n²)。
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811