Article original : Everything you need to know about Insertion Sort algorithm
Par Sanjula Madurapperuma
Introduction
Bonjour ! Je suis Sanjula, et dans ce guide, j'espère vous enseigner un peu sur l'algorithme de tri par insertion, notamment :
- Qu'est-ce que le tri par insertion ?
- Pourquoi le tri par insertion est-il important ?
- Performance du tri par insertion
- Comment fonctionne le tri par insertion ?
- Implémentation Java du tri par insertion
Commençons !
Qu'est-ce que le tri par insertion ?
C'est un algorithme de tri simple qui trie un tableau un élément à la fois.
Pourquoi le tri par insertion est-il important ?
Le tri par insertion présente plusieurs avantages, notamment :
- La simplicité pure de l'algorithme.
- L'ordre relatif des éléments avec des clés égales ne change pas.
- La capacité à trier une liste au fur et à mesure de sa réception.
- Efficace pour les petits ensembles de données, surtout en pratique par rapport à d'autres algorithmes quadratiques — c'est-à-dire O(n²).
- Il ne nécessite qu'une quantité constante d'espace mémoire supplémentaire — O(1).
Performance du tri par insertion
- La performance dans le pire des cas du tri par insertion est O(n²) comparaisons et échanges.
- La performance dans le meilleur des cas est O(n) comparaisons et O(1) échanges.
- La performance moyenne est O(n²) comparaisons et échanges.
Comment fonctionne le tri par insertion ?
À chaque itération, le tri par insertion compare l'élément actuel avec l'élément suivant et détermine si l'élément actuel est plus grand que celui avec lequel il a été comparé.
Si c'est vrai, alors il laisse l'élément à sa place et passe à l'élément suivant. Si c'est faux, alors il trouve sa position correcte dans le tableau trié et le déplace à cette position en décalant tous les éléments qui sont plus grands dans le tableau trié d'une position vers l'avant.
Implémentation Java du tri par insertion
P.S. — Essayez de l'implémenter vous-même d'abord !
Félicitations !!! Vous avez maintenant acquis les connaissances de base mais essentielles sur le fonctionnement du tri par insertion.
Pour référence ou pour signaler des problèmes concernant le code ci-dessus, utilisez le lien suivant vers le Gist public GitHub lien.
J'espère que cela a été utile. Merci d'avoir lu ! 😊