Laufzeit des Algorithmus bei gegebener zeitlicher Komplexität

c) Nehmen Sie an, dass die Algorithmen A1 und A2 eine Rechenkomplexität von haben Ö ( N Protokoll ( N ) ) Und Ö ( N 3 ) bzw. Beide Algorithmen benötigen ungefähr 100 Sekunden, um bei der Dateneingabe der Größe zu laufen N = 10 , 000 . Bestimmen Sie (auf die nächste Sekunde genau) die Zeit, die jeder Algorithmus benötigt, um bei einer Dateneingabe der Größe ausgeführt zu werden

ich. N = 1 , 000

ii. N = 100

Ich habe in den letzten Tagen versucht, einen Weg zu finden, das zu lösen, aber ich stecke völlig fest. Jemand anderes hatte ein ähnliches Problem, aber als ich versuchte, ihre Methode anzuwenden, funktionierte es nicht. Bitte helfen Sie mir, ich habe am Dienstag eine Prüfung in diesem Bereich

Erstens gibt die Big-Oh-Notation nur Obergrenzen an. Soweit uns mitgeteilt wird, können beide Algorithmen in linearer Zeit ablaufen. Zweite, F 1 ( N ) = k 1 N Protokoll ( N ) Und F 2 ( N ) = k 2 N Protokoll ( N ) + 99 sind beide Ö ( N Protokoll ( N ) ) , aber falls F 1 ( 10 4 ) = F 2 ( 10 4 ) = 100 , Dann k 1 = 100 k 2 und deren Laufzeiten für N = 10 3 oder N = 10 2 wird ganz anders sein.

Antworten (1)

Bitte bedenken Sie, dass ich so ziemlich nichts über Rechenkomplexität weiß.

Rufen wir die Laufzeiten für eine Größeneingabe auf N A 1 ( N ) Und A 2 ( N ) bzw. Das ist uns gegeben A 1 ( N ) = Ö ( N Protokoll ( N ) ) was bedeutet, dass lim N A 1 ( N ) N Protokoll ( N ) < . Daher ist die Grenze endlich, aber wir wissen noch nicht, was sie ist. Wir können es herausfinden, indem wir die zusätzlichen Informationen verwenden, die wir erhalten: A 1 ( 10 ) = 100 . Einstecken, wir bekommen A 1 ( 10 ) 10 Protokoll ( 10 ) 4.3429 . Das Gleiche tun für A 2 wir bekommen A 2 ( 10 ) 10 3 = 0,1 .

Jetzt können wir das Problem lösen:

A 1 ( 1000 ) 1000 Protokoll ( 1000 ) = 4.3429 A 1 ( 1000 ) 30 000

A 2 ( 1000 ) 1000 Protokoll ( 1000 ) = 0,1 A 2 ( 1000 ) = 100 000 000

Der zweite Teil der Frage funktioniert genauso.