Bevor jemand fragt, ja das war eine vorherige Testfrage, die ich falsch verstanden und wusste, dass ich falsch lag, weil ich ehrlich gesagt nicht nur Wachstumsfunktionen und Big O verstehe. Ich habe die technische Definition gelesen, Ich weiß, was sie sind, aber nicht, wie sie berechnet werden. Mein Lehrbuch gibt Beispiele aus realen Situationen, aber ich finde es immer noch schwer, Code zu interpretieren. Wenn jemand mir ihren Gedankengang darüber erzählen kann, wie sie diese bestimmen, würde das ernsthaft helfen. (d. h. dieser Codeabschnitt sagt mir, dass ich n mit x, usw. multiplizieren soll).Bestimmung der Wachstumsfunktion und Big O
public static int sort(int lowI, int highI, int nums[]) {
int i = lowI;
int j = highI;
int pivot = nums[lowI +(highI-lowI)/2];
int counter = 0;
while (i <= j) {
while (nums[i] < pivot) {
i++;
counter++;
}
while (nums[j] > pivot) {
j--;
counter++;
}
count++;
if (i <= j) {
NumSwap(i, j, nums); //saves i to temp and makes i = j, j = temp
i++;
j--;
}
}
if(lowI< j)
{
return counter + sort(lowI, j, nums);
}
if(i < highI)
{
return counter + sort(i, highI, nums);
}
return counter;
}
Was war die Frage auf dem Test? –
@fruitoftheloins Um die Wachstumsfunktion und die Komplexität des Algorithmus zu bestimmen. – Harlie
Warum ist dieses getaggte Javascript? Ich entferne das Tag, da es darum geht, an Big O und nicht an eine bestimmte Sprache zu denken. –