Vai al contenuto principale
← OlimpiApp Olimpico

Informatica · Ordinamento

Numero massimo di confronti nell'insertion sort (n=7)

Il seguente pseudocodice esegue l'insertion sort su un array $a[0..n-1]$:

for i from 1 to n-1:
    key = a[i]
    j = i - 1
    while j >= 0 and a[j] > key:   # ogni valutazione della condizione a[j] > key conta come un confronto
        a[j+1] = a[j]
        j = j - 1
    a[j+1] = key

Considera tutti i possibili array di $7$ elementi distinti (tutte le loro permutazioni come array iniziale). Qual è il numero massimo possibile di valutazioni della condizione a[j] > key durante l'intera esecuzione, al variare dell'array di partenza?