第11题 给定如下算法,其时间复杂度为( )。
【答案】B
【考纲知识点】 算法复杂度分析
【解析】
这段代码的功能是判断数组arr中是否存在若干元素的和等于目标值target。它通过枚举数组元素所有可能的组合来实现这一功能。
时间复杂度分析
外层循环:
外层循环的条件是i < (1 << n),其中1 << n 表示将1左移n位,其结果为2n。所以外层循环会执行2n次。
内层循环:
内层循环的条件是j < n,它会执行n次。
嵌套循环的总执行次数:
由于内层循环嵌套在外层循环内部,对于外层循环的每一次迭代,内层循环都会完整地执行n次。因此,嵌套循环的总执行次数为外层循环执行次数与内层循环执行次数的乘积,即n×2n。
所以,答案选B。