我正在分析排序算法,我遇到了一个快速排序的问题在网上查找一些图表时,我发现我的图表与其他图表明显不同,我想知道原因。
这是我的代码:
static int Particao(int[] vet, int min, int max, int modo)
{
int i = min;
int j = max;
int pivot;
if (modo == 0)
pivot = vet[(min + max) / 2];
else
pivot = vet[min];
while (i <= j)
{
while (vet[i] < pivot)
i++;
while (vet[j] > pivot)
j--;
if (i <= j)
{
int aux = vet[i];
vet[i] = vet[j];
vet[j] = aux;
i++;
j--;
}
};
return i;
}
static void QuickSort(int[] vet, int ini, int fim)
{
int pivo = Particao(vet, ini, fim, 0);
if (ini < pivo - 1)
QuickSort(vet, ini, pivo - 1);
if (pivo < fim)
QuickSort(vet, pivo, fim);
}
我的图表(时间以毫秒为单位,乘以1000):
谢谢=)
最佳答案
由于测量的不同,你的图表与其他图表不同。
其他的图表有更多的数据点和许多平均测量值以避免误差。
你的图表只有6个数据点,每个数据点有1个测量值,从中很难得出任何结论。
或许你可以衡量互换或比较的数量,并由此推断出一个图表?
关于c# - QuickSort错误的C#复杂性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58575808/