La sagesse commune indique que pour les tableaux suffisamment petits, le tri par insertion est le meilleur. Par exemple, Timsort utilise le tri d'insertion (binaire) pour les tableaux jusqu'à 64 éléments; de Wikipedia:Tri stable rapide pour les petits tableaux (sous 32 ou 64 éléments)
Certains algorithmes diviser pour régner tels que le tri rapide et tri mergesort en divisant la liste récursive en sous-listes plus petites qui sont ensuite triés. Une optimisation utile en pratique pour ces algorithmes est d'utiliser le tri d'insertion pour trier de petites sous-listes, car le tri d'insertion surpasse ces algorithmes plus complexes. La taille de la liste pour laquelle le tri par insertion a l'avantage varie selon l'environnement et la mise en œuvre, mais se situe généralement entre huit et vingt éléments.
Est-ce réellement correct? Y a-t-il de meilleures alternatives?
Dans le cas où cela dépend beaucoup de la plate-forme, je suis très intéressé par .NET.
Vérifiez 'Array.Sort' dans le réflecteur. C'est du pur code .NET. –
Je me demande quelle serait la différence pour trier un tableau de 40 éléments sur C++ vs C# - et ensuite je me demande si cela aurait vraiment de l'importance. – sirrocco
@sirrocco je suis déjà en train d'y penser et de faire des recherches sur le mode mixte de Howto etc. 'pour éviter les frais généraux des appels API ou minimiser. – LoneXcoder