Maison >développement back-end >C++ >Comment puis-je mélanger efficacement un tableau d'entiers en C# ?

Comment puis-je mélanger efficacement un tableau d'entiers en C# ?

DDD
DDDoriginal
2025-01-21 14:11:11197parcourir

How Can I Efficiently Shuffle an Integer Array in C#?

Optimisation du brassage de tableaux d'entiers en C#

Pour un brassage aléatoire efficace de tableaux d'entiers en C#, l'algorithme de Fisher-Yates propose une solution en temps linéaire. Des approches alternatives peuvent rencontrer des goulots d'étranglement en termes de performances, en particulier lorsque le brassage est presque terminé.

Le mélange Fisher-Yates évite ces problèmes en employant une méthode simple, mais efficace :

  1. Un index aléatoire est sélectionné dans la partie non triée du tableau.
  2. L'élément à l'index actuel est échangé avec l'élément à l'index choisi au hasard.
  3. L'index actuel est incrémenté et les étapes 1 et 2 sont répétées jusqu'à ce que l'intégralité du tableau soit traitée.

Cela garantit un mélange uniformément aléatoire en un temps O(n), offrant un moyen fiable et efficace de randomiser des tableaux d'entiers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn