/ / za pomocą sortowania wstawiania do rozpoznawania kolejności tablic - algorytm

za pomocą sortowania wstawiania do rozpoznawania kolejności tablic - algorytmu

to jest moje pytanie i piszę dla niego algorytm Chcę wiedzieć, że ten algorytm jest poprawny? dzięki!!

Pytanie: ** Podano mi liczby tablic i powinnam je posortować w oparciu o „są uporządkowane”, na przykład tablica, która jest we właściwej kolejności, pojawia się na początku, a tablica, której elementy są w odwrotnej kolejności pojawia się koniec. Załóżmy, że elementy tablic składają się z liter A, C, G, T. W tym liczba tablic wejściowych (n), długość (m) i nazwa tablic. **

mój algorytm:

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

Odpowiedzi:

1 dla odpowiedzi № 1

Brzmi jakbyś potrzebował abstrakcyjnego typu danychdwóch członków, jeden do trzymania tablicy, a drugi do pomiaru jej niesortowania. Utwórz listę tych typów, po jednym dla każdej tablicy. Iteruj przez i wypełnij członka nieposortowanego (jest wiele sposobów, aby to zmierzyć) Sortuj ADT przez pole niesortowane.