Inversion dans un tableau

c1119a -  
 c1119a -
Bonjour,
Est ce que quelqu'un aurait une idee d'algorithme en O(nlog(n)) pour compter le nombre d'inversion dans un tableau de n elements.

PS : une inversion c qd i<j et A[i]>A[j]
Configuration: Windows Vista
Firefox 3.0.4

3 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Salut,

    Effectivement j'aurais bien une idée, qui suivrait un peu la philosophie de la recherche dichotomique ou du tri dichotomique...
    C'est un exo que tu dois faire?
    0
    1. c1119a
       
      En fait on a resolu en cours le pb avec un algorithme en n² et le prof a dit qu'il y en avait un en n*log(n) et sa fait 3 jours que je cherche et g toujours pas trouve. Avez vous une idee de grosso modo comment on pourait faire?
      0
  2. ismail
     
    votre question n'est pas claire

    pour cherche le nombre des inversions possible d'un tableau (l'algorithme)

    il faut définire exactement qui ce que c'est une inversion
    0
  3. ismail
     
    si le sens de votre question est le suivant :

    par exemple :

    SI T = 4, 5, 3, 1

    on a :

    4>3
    4>1
    5>3
    5>1
    3>1

    donc :

    le nombre des inversion est 5

    et l'algorithme est la suivante :

    nb-inversion =0
    pour i =1 à taille-T faire
    pour j = i+1 à taille-T faire
    si T(i)>T(j)
    nb-inversion =nb-inversion+1
    fin si
    fin pour
    fin pou

    c'est simple.......

    reponder moi
    0
    1. c1119a
       
      Vous avez tout a fait compris le sens de la question et j'ai eu la meme idee pour l'algorithme. le pb c'est que l'algorithme est en n² et on en veut un en nlog(n)
      0