2010-06-20 4 views
0

c'est ma question et j'écris un algorithme pour cela je veux savoir que cet algorithme est correct ?? merci !! ** un nombre de tableaux me sont donnés et je devrais les trier en fonction de "ils sont commandés", par exemple un tableau qui est dans le bon ordre vient d'abord, et un tableau qu'il éléments sont dans l'ordre inverse vient à la fin. Supposons que les éléments des tableaux soient composés des lettres A, C, G, T. Y compris le nombre de tableaux d'entrée (n), la longueur (m) et le nom des tableaux. **en utilisant tri d'insertion pour reconnaître l'ordre des tableaux

mon algorithme:

Algorithm Sort(n,arr(One)[1,…,m],arr(Two)[1,…m],…arr(n)[1,…,m]) 

for i<--1 to n 
     m<-- SumTheNumberOfInversions(arr(i)) 
     v[i] = m 
Arrays.sort(v[i]) 
j <--i 
for j<-- 1 to n 
    return arr(j) 
//end of Sort algorithm 
--------------------------------------------- 
Algorithm SumTheNumberOfInversions(arr) 
Output: sum of the numbers of inversions 
{ 
    int i, j, t,numberOfInversions=0; 
    for (i=1; i<n; i++) 
    { 
     j=i; 
     t=arr[j]; 
     while (j>0 && arr[j-1]>t) 
     { 
      arr[j]=arr[j-1]; 
      numberOfInversions++; 
      j--; 
     } 
     arr[j]=t; 
    } 
    return numberOfInversions; 
} 
+0

s'il vous plaît écrivez la raison pour le vote vers le bas !!! – user355002

+0

Je n'ai pas fait de downvote, mais je présume que c'est parce que votre question n'est pas très claire et se lit comme un travail de copier-coller incomplet. –

Répondre

1

On dirait que vous avez besoin d'un type de données abstrait avec deux membres une pour tenir un tableau et l'autre pour une mesure de son unsortedness. Créez une liste de ces types, une pour chaque tableau. Parcourez et remplissez le membre non trié (il y a plusieurs façons de le mesurer) Triez le champ ADT par le champ de tri.

Questions connexes