Nombre de permutations dans un tri à bulle

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
}
}
}

This entry was posted in Math and tagged , , , , , , , , , , , , , , . Bookmark the permalink.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>