logo

Programme Python pour le tri par insertion

Le tri par insertion est un algorithme de tri simple qui fonctionne de la même manière que nous trions les cartes à jouer entre nos mains.

Programme Python pour le tri par insertion

La fonction insertionSort prend un tableau arr en entrée. Il calcule d'abord la longueur du tableau (n). Si la longueur est 0 ou 1, la fonction est renvoyée immédiatement car un tableau avec 0 ou 1 élément est considéré comme déjà trié.



Pour les tableaux comportant plusieurs éléments, la fonction procède à une itération sur le tableau en commençant par le deuxième élément. Il prend l'élément actuel (appelé clé) et le compare aux éléments de la partie triée du tableau qui le précède. Si la clé est plus petite qu'un élément dans la partie triée, la fonction déplace cet élément vers la droite, créant ainsi un espace pour la clé. Ce processus se poursuit jusqu'à ce que la position correcte de la clé soit trouvée, puis celle-ci est insérée dans cette position.

L'exemple fourni illustre le processus de tri à l'aide de l'algorithme de tri par insertion. Le tableau initial [12, 11, 13, 5, 6] est soumis à la fonction insertionSort. Après le tri, le tableau doit être [5, 6, 11, 12, 13]. Le code imprime le tableau trié comme sortie finale.

Structure Java

Python








que signifie google
def> insertionSort(arr):> >n>=> len>(arr)># Get the length of the array> > >if> n <>=> 1>:> >return> # If the array has 0 or 1 element, it is already sorted, so return> >for> i>in> range>(>1>, n):># Iterate over the array starting from the second element> >key>=> arr[i]># Store the current element as the key to be inserted in the right position> >j>=> i>->1> >while> j>>=> 0> and> key # Move elements greater than key one position ahead arr[j+1] = arr[j] # Shift elements to the right j -= 1 arr[j+1] = key # Insert the key in the correct position # Sorting the array [12, 11, 13, 5, 6] using insertionSort arr = [12, 11, 13, 5, 6] insertionSort(arr) print(arr)>

>

>

Sortir:

Sorted array is: [5, 6, 11, 12, 13]>

Complexité temporelle : O(N2)
Espace auxiliaire : O(1)

Veuillez vous référer à l'article complet sur Tri par insertion pour plus de détails!