0
这是我的问题,我为它写了一个算法我想知道这个算法是正确的? 谢谢!!使用插入排序来识别数组的顺序
问题: **我给出了一些数组,我应该根据“它们是有序的”对它们进行排序,例如一个数组按照正确的顺序出现,并且一个数组表示它的元素在相反的顺序是在最后。 假设数组的元素由字母A,C,G,T组成。包括输入数组的数量(n),长度(m)和数组名称。 **
我的算法:
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;
}
请写下投票的理由! – user355002 2010-06-20 19:07:49
我没有downvote,但我想这是因为你的问题是不是很清楚,并读取像一些不完整的剪切和粘贴作业。 – 2010-06-20 21:07:25