Algorithm 使用插入排序识别数组的顺序
这是我的问题,我写了一个算法,我想知道这个算法是正确的?? 谢谢 问题: **给了我许多数组,我应该根据“它们是有序的”对它们进行排序,例如,一个顺序正确的数组首先出现,一个元素顺序相反的数组最后出现。 假设数组的元素由字母A、C、G、T组成。包括输入数组的数目(n)、长度(m)和数组的名称** 我的算法:Algorithm 使用插入排序识别数组的顺序,algorithm,Algorithm,这是我的问题,我写了一个算法,我想知道这个算法是正确的?? 谢谢 问题: **给了我许多数组,我应该根据“它们是有序的”对它们进行排序,例如,一个顺序正确的数组首先出现,一个元素顺序相反的数组最后出现。 假设数组的元素由字母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&l
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;
}
算法排序(n,arr(One)[1,…,m],arr(Two)[1,…,m],…arr(n)[1,…,m])
因为i听起来像是需要一个包含两个成员的抽象数据类型,一个用于保存数组,另一个用于度量数组的不排序性。
创建这些类型的列表,每个数组一个。
迭代并填充unsortedness成员(有很多方法可以度量这一点)
按未排序字段对ADT进行排序。请写下否决投票的原因!!!我没有投反对票,但我想这是因为你的问题不是很清楚,读起来像是一些不完整的剪贴工作。