Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Algorithme de tri par insertion en Java : exemple clair et guide pas à pas

Qu'est-ce que l'algorithme de tri par insertion ?

Le tri par insertion est une technique de tri simple, idéale pour les petits ensembles de données ou presque triés. À chaque itération, l'algorithme retire un élément, le compare aux éléments précédents, et le place à sa position correcte.

Le tri par insertion fonctionne en O(n²) dans le pire et le cas moyen, mais atteint une performance linéaire quand le tableau est déjà trié. C'est un tri sur place, stable, qui ne nécessite qu'un espace supplémentaire constant.

Processus du tri par insertion

Voici une représentation visuelle du flux de travail du tri par insertion :

Algorithme de tri par insertion en Java : exemple clair et guide pas à pas

Processus de l'algorithme de tri par insertion

Programme Java pour trier un tableau avec le tri par insertion :

package com.guru99;
public class ExempleTriInsertion {
    public static void main(String a[]) {
        int[] monTableau = {860,8,200,9};
        System.out.println("Avant tri par insertion");
        afficherTableau(monTableau);
        triInsertion(monTableau); // tri du tableau par insertion
        System.out.println("Après tri par insertion");
        afficherTableau(monTableau);
    }
    public static void triInsertion(int arr[]) {
        int n = arr.length;
        for (int i = 1; i < n; i++) {
            System.out.println("Passe de tri numéro " + (i));
            int cle = arr[i];
            int j = i-1;
            while ( (j > -1) && ( arr[j] > cle ) ) {
                System.out.println("Comparaison " + cle + " et " + arr[j]);
                arr[j+1] = arr[j];
                j--;
            }
            arr[j+1] = cle;
            System.out.println("Échange des éléments : Nouveau tableau après échange");
            afficherTableau(arr);
        }
    }
    static void afficherTableau(int[] tableau){
        for(int i=0; i < tableau.length; i++) {
            System.out.print(tableau[i] + " ");
        }
        System.out.println();
    }
}

Sortie du code :

Avant tri par insertion
860 8 200 9
Passe de tri numéro 1
Comparaison 8 et 860
Échange des éléments : Nouveau tableau après échange
8 860 200 9
Passe de tri numéro 2
Comparaison 200 et 860
Échange des éléments : Nouveau tableau après échange
8 200 860 9
Passe de tri numéro 3
Comparaison 9 et 860
Comparaison 9 et 200
Échange des éléments : Nouveau tableau après échange
8 9 200 860
Après tri par insertion
8 9 200 860

Java

  1. calloc() en C : Allocation mémoire initialisée à zéro et exemple pratique
  2. Java Hello World : Guide étape par étape pour écrire votre premier programme Java
  3. Méthode Java String length() : Comment obtenir la taille d'une chaîne (Exemple)
  4. Comprendre Java String.charAt() : Syntaxe, type de retour, exceptions et exemple pratique
  5. Méthode Java String.contains() : Comment vérifier la présence de sous-chaînes – Exemples pratiques
  6. Maîtriser Java String.endsWith() : Comment vérifier les suffixes de chaînes avec exemples
  7. Lecture de Fichiers en Java avec BufferedReader – Guide Pratique avec Exemples
  8. Maîtriser le tri à bulles en Java : exemple clair et explication pas à pas
  9. Tri par sélection en Java : exemple pas à pas et code complet