In einer Beispielaufgabe sollte ich prüfen, ob alle Elemente in einem Array identisch sind. DIESE FRAGE IST NICHT DIE EFFIZIENTESTE MÖGLICHKEIT, DIES ZU TUN. Es geht vielmehr um diese beiden Lösungen.Beeinflusst die Anzahl der Vergleiche in der gleichen for-Schleife die Zeitkomplexität?
for(var i=0; i < set.length-1; i++)
{
if (set[i] != set[i+1]) // could have compared all elements to the firstelement instead of switching
{
isTrue=false;
}
}
Dieser obige Algorithmus vergleicht jeden Index mit dem Index danach.
var firstIndex=set[0];
for(var i=0; i < set.length-1; i++)
{
if(set[i] != firstIndex)
{
isTrue=false;
}
}
Während dieser Algorithmus vergleicht den aktuellen Index mit dem ersten Index. Obwohl diese Algorithmen mindestens O (N) sind. Beeinflusst der Unterschied in den Vergleichen die Komplexität von Zeit und Raum?
Es Effizienz helfen würde, wenn die Bedingung 'i war
RobG
Ich bereite mich auf ein Interview vor, und ich habe nur versucht zu verstehen, wie man Komplexität basierend auf gegebenem Code berechnet. Wäre das große O in beiden Fällen linear? –