Ich arbeite gerade an einer Aufgabe, die sich mit Big-O und Laufzeiten beschäftigt. Mir wurde eine Frage vorgelegt, die sehr einfach zu sein scheint, aber ich bin mir nicht sicher, ob ich sie richtig löse. Die restlichen Aufgaben waren ziemlich schwierig, und ich habe das Gefühl, dass ich hier etwas übersehe.
Erstens: Sie haben diese Dinge: Algorithmus A, der eine Laufzeit von 50n^3 hat. Computer A, der eine Geschwindigkeit von 1 Millisekunde pro Operation hat. Computer B, der eine Geschwindigkeit von 2 Millisekunden pro Operation hat. Eine Instanz der Größe 300.
Ich möchte herausfinden, wie lange Algorithmus A braucht, um diesen Fall auf Computer A zu lösen, und wie lange er auf Computer B braucht.
Ich möchte n durch 300 ersetzen, so dass Sie 50*(300^2) = 4500000 erhalten.
Dann multiplizieren Sie diesen Wert mit 1 für den ersten Computer und mit 2 für den zweiten Computer.
Das kommt mir allerdings seltsam vor, weil es heißt, die "Laufzeit" sei 50n^3, nicht "die Anzahl der Operationen ist 50n^3", so dass ich das Gefühl habe, dass ich Zeit mit Zeit multipliziere und am Ende Einheiten von Millisekunden zum Quadrat hätte, was überhaupt nicht richtig erscheint.
Ich würde gerne wissen, ob ich richtig liege, und wenn nicht, was die Frage eigentlich bedeutet.
0 Stimmen
Ich wollte nur darauf hinweisen, dass Sie von 50n^3 in der Beschreibung zu 50n^2 in Ihrer Berechnung übergegangen sind. Das macht natürlich einen großen Unterschied im Ergebnis, das Sie erhalten.