Adloun

Python (école d'ingénieur) · Chapitre 6 · Exercice

Analyse de la fonction max\_sous\_tableau

Complexité algorithmique

Énoncé

On considère le problème du sous-tableau maximal : trouver la somme maximale d'une sous-liste contiguë dans une liste de nombres (qui peuvent être négatifs). Comparer les deux fonctions suivantes :

def max_sous_tableau_naif(L):
    n = len(L)
    max_somme = float('-inf')
    for i in range(n):
        for j in range(i, n):
            somme = sum(L[i:j+1])
            if somme > max_somme:
                max_somme = somme
    return max_somme

def max_sous_tableau_kadane(L):
    max_global = max_courant = L[0]
    for x in L[1:]:
        max_courant = max(x, max_courant + x)
        max_global = max(max_global, max_courant)
    return max_global

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

100 % gratuit

Cet exercice se cherche avec le tuteur

Chercher avec le tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice guidé gratuit →