Die Frage schlägt vor, dass zwei Algorithmen ausgeben , Und , Mikrosekunden, für eine Problemgröße von . Die Frage fragt, bei welcher Eingabegröße wird der Algorithmus verwendet besser werden als . Wie finde ich das?
Ich habe eine ähnliche Frage mit einer Lösung gefunden, die ich nicht vollständig verstehe. Die Laufzeiten von Algorithmen aus einer ähnlichen Frage sind Und
Es ist wie folgt gelöst:
Daher Algorithmus ist besser wann ist größer als
Ich verstehe das Konzept, Ungleichheit verwenden zu müssen, um dies zu beweisen , es fällt mir jedoch schwer zu verstehen, was in der Lösung für das Beispiel getan wird und wie man es auf die Frage anwendet ...
Angenommen, die beiden Algorithmen lösen dasselbe Problem. In diesem Fall kann man sagen, dass Algorithmus A besser ist als B, wenn < , weil ersteres in kürzerer Zeit läuft.
Für welche (positiven) Werte von n gilt das < Ungleichheit halten? Ersetzen der Ausdrücke von Und du erhältst
.
Wie man eine solche Ungleichung mit Stift und Papier lösen kann, erfahren Sie zB hier oder grafisch und algebraisch mit einer Engine für symbolische Mathematik wie Wolfram Alpha. Wenn Sie das tun, werden Sie das sehen ist kleiner als nur wenn n kleiner als ein Schwellenwert ist. Jenseits dieser Schwelle, Algorithmus „geht besser als " weil eine Quadratwurzelfunktion (wie ) steigt langsamer an als ein quadratischer (wie ) mit zunehmendem n.
Kumar
Waren
Kumar
kelalaka