Chose promise, chose due, j’ouvre la catégorie math avec ce code permettant de calculer le nombre maximum de permutations opérées dans un algorithme de tri à bulle. Si il y a n données à trier, il y aura n-1 échanges maximum à effectuer à la première étape, n-2 à la seconde, n-3 à la troisième et ainsi de suite. Le nombre maximum d’échanges est donc n(n-1)/2. Mais puisque qu’un échange entre a et b se réalise par l’intermédiaire d’une variable temporaire c provoquant ainsi une succession de trois affectations : (c<-a), (a<-b), (b<-c); il faudra au maximum 3n(n-1)/2 opérations pour traiter n éléments dans un tableau :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Bonus_math_nb_echange_tri_bulle
{
class Program
{
static void Main(string[] args)
{
//declaration
int n, m;
//saisies
Console.WriteLine("Entrer le nombre d'éléments a trier dans votre tableau :\n");
n = int.Parse(Console.ReadLine());
//traitement
m = ((3 * n) * (n - 1)) / 2;
//résultat
Console.WriteLine("\nLe nombre maximum de permutations réalisées lors de l'éxécution de l'algorithme du tri à bulle composé de " + n + " éléments est de : " + m);
Console.ReadKey();
//fin
}
}
}
Flux RSS Clogique.com