Dans cet article, nous discutons le tri par insertion python.
L’algorithme de tri par insertion est un élément de base dans le monde de la programmation. Il est simple mais efficace pour de petites listes, c’est pourquoi on l’enseigne souvent aux débutants en informatique en raison de ses principes fondamentaux facilement compréhensibles. Dans cet article, nous explorerons le fonctionnement du tri par insertion en Python à travers 8 études de cas variées et partagerons des astuces pour optimiser son utilisation.
Le tri par insertion est un algorithme de tri en place qui construit la liste finale (ou le tableau) élément par élément. Il prend chaque élément de la liste et le place à sa position correcte en le comparant aux éléments précédents. Pour une liste triée de manière croissante, chaque nouvel élément est inséré derrière ceux qui sont plus petits et devant les plus grands.
Nous énumérons ci-après des exemples de tri par sélection en Python.
[3, 1, 4, 1, 5, 9, 2, 6]
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
7
à [1, 2, 4, 5, 6]
[2, 3, 3, 1, 4, 2]
[1, 2, 3, 7, 4, 5, 6]
3. Conclusion
Le tri par insertion est un outil polyvalent et efficace pour de nombreuses situations de tri en Python. Bien qu’il ne soit pas toujours le plus rapide, surtout pour de grandes listes, sa simplicité et son efficacité pour des listes de petite ou moyenne taille en font un choix privilégié dans de nombreux cas. En comprenant ses forces et ses faiblesses, comme illustré dans nos huit études de cas, les programmeurs peuvent l’utiliser à bon escient pour optimiser leurs applications.
4. Références
Ceux qui cherchent à approfondir leurs connaissances peuvent consulter une série de ressources, y compris des tutoriels Python, des cours en informatique théorique et des benchmarks de performance pour différents algorithmes de tri.
Lorsque vous implémentez le tri par insertion en Python, il est crucial de garder à l’esprit quelques astuces et d’éviter certaines erreurs courantes pour optimiser la performance et l’exactitude de votre algorithme.
Astuces :
for
plutôt que while
pour une meilleure lisibilité et un contrôle précis des indices.Erreurs à Éviter :
En gardant ces astuces et mises en garde à l’esprit, vous pouvez maximiser l’efficacité de votre algorithme de tri par insertion en Python, garantissant ainsi une performance optimale pour vos applications de tri.
Bien sûr, voici des extraits de code en Python illustrant l’implémentation du tri par insertion ainsi que quelques-unes des astuces mentionnées précédemment.
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >=0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
# Test
print(insertion_sort([3, 1, 4, 1, 5, 9, 2, 6]))
def insertion_sort_small_optimized(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
# Déplacez les éléments de arr[0..i-1], qui sont plus grands que key,
# à une position en avant de leur position actuelle
while j >=0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
# Test avec une petite liste
print(insertion_sort_small_optimized([2, 1, 3, 1, 2]))
def is_sorted(arr):
return all(arr[i] <= arr[i + 1] for i in range(len(arr) - 1))
def insertion_sort_with_check(arr):
if is_sorted(arr):
return arr
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
# Test avec une liste déjà triée
print(insertion_sort_with_check([1, 2, 3, 4, 5]))
Ces extraits illustrent les concepts de base du tri par insertion, ainsi que des techniques pour améliorer les performances et la robustesse de l’algorithme. L’utilisation de ces méthodes dans différents contextes peut aider à optimiser l’efficacité de vos programmes Python.
1. Informations Générales Titre complet : Le cœur à rire et à pleurer : Souvenirs…
1. Pourquoi apprendre le français ? / Why Learn French? Langue internationale : Le français…
1. Définition / Definition En français, chaque nom a un genre : masculin ou féminin.…
Le mot "français" peut être masculin ou féminin selon le contexte dans lequel il est…
Emprunter une somme aussi importante que 250 000 euros sur une 25 ans est une…
Ce guide explore les nombreux usages des verbes pronominaux passifs, offrant une classification claire et…
This website uses cookies.