Bisher habe ich mich vor allem darauf konzentriert, wie man Code richtig entwirft, ihn so lesbar wie möglich und so wartbar wie möglich macht. Daher habe ich mich immer dafür entschieden, mehr über die Details der Programmierung auf höherer Ebene zu lernen, z. B. Klasseninteraktionen, API-Design usw.
Algorithmen fand ich noch nie besonders interessant. Das hat zur Folge, dass ich zwar ein gutes Design für meine Programme entwerfen kann, und selbst wenn ich eine Lösung für ein bestimmtes Problem finde, ist sie selten die effizienteste.
Gibt es eine bestimmte Art, über Probleme nachzudenken, die Ihnen hilft, eine möglichst effiziente Lösung zu finden, oder ist es einfach eine Frage der Übung und/oder des Auswendiglernens?
Welche Online-Ressourcen können Sie außerdem empfehlen, die Ihnen verschiedene effiziente Algorithmen für unterschiedliche Probleme vermitteln?