Ich bin es gewohnt, von Hand nach der Landau-Notation (Big O, Theta ...) meiner Algorithmen zu suchen, um sicherzustellen, dass sie so optimiert wie möglich sind, aber wenn die Funktionen wirklich groß und komplex werden, nimmt sie Fahrt auf zu viel Zeit, um es von Hand zu tun. Es ist auch anfällig für menschliche Fehler.
Ich habe einige Zeit mit Codility (Codierungs- / Algo-Übungen) verbracht und festgestellt, dass Sie die Landau-Notation für Ihre eingereichte Lösung erhalten (sowohl in Bezug auf die Zeit als auch in Bezug auf die Speichernutzung).
Ich habe mich gefragt, wie sie das machen ... Wie würden Sie das machen?
Gibt es neben der lexikalischen Analyse oder dem Parsen des Codes noch einen anderen Weg?
Diese Frage betrifft hauptsächlich PHP und / oder JavaScript, aber ich bin offen für jede Sprache und Theorie.