Déterminez la complexité de la fonction mergesum suivante.
def mergesum(x, i_min, i_max):
"""
pre: `x` un tableau d'entiers
pre: `i_min` et `i_max`, deux entiers tels que 0 <= i_min <= i_max < len(x)
L'appel initial à cette fonction est supposé être : mergesum(x, 0, len(x)-1)
post: renvoie la somme des éléments de `x`
"""
# La précondition sur i_min et i_max peut devenir non satisfaite par récursion
if i_min > i_max:
return 0
middle = (i_min + i_max)//2
return x[middle] + mergesum(x, i_min, middle-1) + mergesum(x, middle+1, i_max)
INGInious