Python 递归函数中嵌套循环的时间复杂度是多少?
我有一个带有嵌套循环的递归函数。我在寻找时间复杂度是多少?下面是函数Python 递归函数中嵌套循环的时间复杂度是多少?,python,algorithm,time-complexity,big-o,Python,Algorithm,Time Complexity,Big O,我有一个带有嵌套循环的递归函数。我在寻找时间复杂度是多少?下面是函数 def csFirstUniqueChar(input_str,letter = 0,num = 1): if letter == len(input_str): return -1 for x in range(len(input_str)): if x == letter: continue if input_str[x] == in
def csFirstUniqueChar(input_str,letter = 0,num = 1):
if letter == len(input_str):
return -1
for x in range(len(input_str)):
if x == letter:
continue
if input_str[x] == input_str[letter]:
num += 1
if num == 1:
return letter
else:
return csFirstUniqueChar(input_str,letter + 1,1)
假设
n
是input\u str
的长度。在最坏的情况下,该算法可以递归地迭代n
次,即在每次递归调用中,字母
将增加1
,并且可以继续到n
。在每次迭代中,wors的情况是O(n)
(完全运行循环)。因此,时间复杂度为O(n^2)