Time Komplexität ist das Maß dafür, wie lange ein Algorithmus dauern wird, bis ein Lauf durch den Prozess abzuschließen. Um Zeit zu messen Komplexität mit C + +, haben Sie eine Vielzahl von Optionen. Dieses Tutorial führt durch den Prozess des Findens Zeit Komplexität . Anleitung
1
Identifizieren Sie Ihren Algorithmus . Je nach Ihrer Algorithmus , müssen Sie ein anderes Zeitmaß Komplexität nutzen . Es gibt eine Vielzahl von verschiedenen Arten einschließlich logarithmischen Algorithmus , Brute-Force , Iteration und Array-Index . Nachdem Sie Ihren Algorithmus identifiziert haben können Sie beginnen , es zu analysieren .
2
die Zeit finden Komplexität . Das ist der schwierige Teil. Um die Zeit Komplexität Ihrer bestimmten Algorithmus zu finden , führen Sie es größer und größer Datenmengen und sehen, wie es verlangsamt . Sie können auch analysieren die Schritte des Algorithmus und sehen, wie es in Vergangenheit analysiert Zeitkomplexität Probleme passt . Schauen Sie sich Informationen über Big O-Notation und Informationen über Algorithmen für weitere Hilfe ( siehe Ressourcen).
3
Analysieren Sie die Zeit , um die Komplexität besten Fall für Ihren Prozess zu finden. Wenn der Algorithmus mit einem schnelleren Verfahren erreicht werden kann , können Sie auf die Umsetzung der schnellere Methode arbeiten. Generell Algorithmen vom schnellsten zum langsamsten in dieser Reihenfolge gehen : konstante Zeit , logarithmische Zeit , die lineare Zeit , Polynomialzeit , exponentielle Zeit und factorial Zeit . Der schnellste ist in der Regel eine direkte Blick und die Zeit ist die gleiche, egal wie groß die Eingabe . Der langsamste ist im Allgemeinen eine Brute-Force- Methode von einer Art , die durch jede einzelne Möglichkeit läuft und verlangsamt deutlich , wie der Eingang an Größe zunimmt . Es kann es nicht wert sein , um den Algorithmus für eine schnellere Zeit Komplexität zu optimieren , wenn die Erhöhung wäre eher klein oder wenn Sie mit kleineren Mengen von Daten zu tun haben. Allerdings, wenn Sie mit großen Datenmengen zu tun haben, dann möchten Sie vielleicht in Betracht ziehen, die zusätzliche Zeit , um herauszufinden, wie man das Beste optimierten Code zu erstellen.