Tri par insertion en java
Nous pouvons créer un programme Java pour trier les éléments d’un tableau à l’aide du tri par insertion. L’insertion n’est utile que pour les petits éléments, car elle nécessite plus de temps pour trier un grand nombre d’éléments. Voici comment le processus fonctionne :
Exemple:
Source: Wikipedia.org
Exemple d’un programme Java pour trier un tableau à l’aide de l’algorithme de tri par insertion.
public class InsertionSortExample { public static void tri_insertion(int tab[]) { int taille = tab.length; for (int i = 1; i < taille; i++) { int index = tab[i]; int j = i-1; while(j >= 0 && tab[j] > index) { tab[j+1] = tab[j]; j--; } tab[j+1] = index; } } static void displayTab(int[] tab) { for(int i=0; i < tab.length; i++) { System.out.print(tab[i] + " "); } System.out.println(); } public static void main(String str[]) { int[] tab = {1,12,4,5,93,21,8,11}; System.out.println("Avant le tri par insertion"); displayTab(tab); //trie un tableau en utilisant le tri par insertion tri_insertion(tab); System.out.println("Apres le tri par insertion"); displayTab(tab); } }
La sortie
Avant le tri par insertion 1 12 4 5 93 21 8 11 Apres le tri par insertion 1 4 5 8 11 12 21 93
Complexité temporelle: O(n * 2)
Complexité spatial: O(1)
Bonsoir, votre programme n’est pas correcte.
Si la première valeur du tableau n’est pas la plus petite valeur, le programme ne marche plus.
Merci pour cette remarque, c’est corrigé 🙂