Forum: Algorithmen, Datenstrukturen und Klassendesign
by Michael II,
7. Jun 2021
Apfel Birnen Vergleich wegen deinem const Aufruf:
Mit const, also so
function LaengsteZiffernFolgeDerWelt( const s : string ) : string;
ist's natürlich auch schneller.
Bei etwa 80% pseudozufällig verteilten Ziffern sind beide gleich schnell. Bei mehr als 80% Ziffernanteil deine, bei weniger meine.
Die Idee mit vorausschauender Prüfung ist schön.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Michael II,
6. Jun 2021
Nicht "oder so", sondern nur so wie Profi ;-).
Es gibt allerdings einen Unterschied: #37 liefert wie in #26 verlangt den String, #38 die Position.
Zeitlich bewegen wir uns im gleichen Rahmen. Profi nutzt aus, dass Strings Null-terminiert sind, muss aber die =#0 Abfrage bei jedem Zeichen ausführen, #37 "einmal" am Schluss *.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Michael II,
6. Jun 2021
Da der zu durchsuchende String beim Aufruf der Funktion vollständig bekannt ist: Verzichte möglichst auf "teure" Additionen von Strings: Es macht zum Beispiel genau 0 Sinn, wenn du jede auftretende Ziffernfolge aufaddierst, diese abspeicherst, nur um sie später wieder zu verwerfen, wenn du eine längere Folge gefunden hast. - Stringoperationen kosten viel, Integerops wenig.
Merke dir also nur...