Ich bin ein PHP-Programmierer und bis jetzt brauchte ich keine Algorithmen zu lernen ...
Jetzt lerne ich Python (eine echte Programmiersprache), weil ich matplotlib verwenden muss. Ist es sinnvoll, zuerst ein Buch mit einem Python-Algorithmus zu lesen und dann Matplotlib und Numpy zu lernen, oder sollte ich zu Matplotlib und Numpy springen?
Freundliche Grüße,
learning
python
algorithms
André
quelle
quelle
Antworten:
Absolut. Wie können Sie sonst verstehen, wie ein Programm das macht, was es macht, ohne Algorithmen zu kennen?
Es ist wichtig, die Entwicklung von Algorithmen zu verstehen, damit Sie effizienter programmieren und bessere Programme schreiben können. Zu Beginn sollten Sie zumindest die Grundlagen von Konzepten wie Kontrollfluss (möglicherweise über Statusautomaten, aber das ist nicht immer erforderlich) und Big O-Notation kennen und wissen, wie sich dies auf die Leistung auswirken kann.
quelle
Die Antwort lautet ja und nein. Sie müssen nicht genau wissen, wie verschiedene Algorithmen funktionieren oder welche Theorie dahinter steckt - das ist die Aufgabe der Informatiker -, aber Sie müssen die Grundlagen kennen, z. B. welche Algorithmen zur Lösung einer bestimmten Aufgabe zur Verfügung stehen und welches ist am besten für eine gegebene Situation.
In Ihrem Fall können Sie einfach mit der Nutzung der von Ihnen erwähnten Bibliotheken beginnen - sie wurden von jemandem erstellt, um anderen das Leben zu erleichtern. Sie müssen sicherlich nicht die Algorithmen kennen, mit denen es erstellt wurde, nur um es zu verwenden.
quelle
Ja, damit Sie verstehen, wie Sie einen Ansatz auf einen anderen anwenden. Sie möchten das Rad auch nicht "neu erfinden", da es bereits viele Algorithmen gibt, die funktionieren. Wenn Sie nicht wissen, dass sie da draußen sind, verschwenden Sie Zeit damit, eine potenziell schwächere Lösung zu erfinden, und verstehen nicht einmal, warum sie schwächer ist.
quelle
Algorithmen für einen Programmierer sind für einen Schmied ein Hammer. Sicherlich können Sie ohne auskommen und Alternativen nutzen, um die Arbeit zu erledigen, aber wenn Sie es richtig machen und es gut machen wollen, ist es wichtig.
Das Gute an Algorithmen ist, dass sie unabhängig von der Programmiersprache sind. Lernen Sie die Theorie einmal und Sie können sie in jeder Sprache implementieren. Hier ist eine gute Website, auf der ich angefangen habe zu lernen: www.ambesty.com Sie verwenden Java, aber es wird mit Beispielcode geliefert, von dem Sie lernen können. Sie bieten einfache ADT- und Sortieralgorithmen für komplexere Algorithmen wie Datenkomprimierungsalgorithmen. Sehr interessant zu lesen. Viel Glück
quelle
Abhängig von Ihrer PHP-Erfahrung können Sie die grundlegenden Programmierkonzepte von einer Sprache in eine andere anpassen . Dies wäre der effizienteste Weg, um Ihre Zeit zu verbringen.
Lesen Sie, was Sie tun müssen, um Matplotlib , Numpy und Python zu integrieren . Und wenn Sie nicht weiterkommen, tauchen Sie tiefer. Ich empfehle diese Bestellung weil
quelle
Wenn Sie (nur) Geschäftsanwendungen entwickeln, lernen Sie nur die Grundlagen wie Listen, Warteschlangen, Sortierung, Zeichenfolgensuche usw. kennen, damit Sie die Terminologie und die Auswirkungen auf die Leistung sowie das Messen usw. kennen. Eine bessere Nutzung Ihrer Zeit wäre, sich auf neue Technologie, OO-Muster, effektives Datenbankdesign und App zu konzentrieren. Entwicklungsmethoden und so weiter!
quelle
Ok - ich weiß, das ist nicht genau das, was Sie gemeint haben, aber Sie wissen bereits (wie man) Algorithmen. Abhängig von Ihrer Definition können Sie jedes Programm als Beispiel für einen Algorithmus verwenden.
Fürchte dich also nicht. Es ist nützlich, die grundlegenden Algorithmen zu kennen, es ist nützlicher, die grundlegenden Datenstrukturen zu kennen, aber es ist noch besser, die Entwurfs- "Muster" zu kennen. Schließlich werden die grundlegenden Algorithmen und Datenstrukturen in Ihrem gewählten Framework implementiert, aber die Muster werden höchstwahrscheinlich nicht ...
quelle
Lernen Sie zuerst Python, und wenn Sie Lust dazu haben, können Sie Algorithmen studieren. Da Algorithmen nicht pythonspezifisch sind, sind sie allgemein alle Sprachen.
quelle
Bevor ich an der Universität anfing, glaubte ich, ein ziemlich anständiger Programmierer zu sein, und ich hatte ein paar Jahre Berufserfahrung. Aber nachdem ich an der Universität etwas über Algorithmen und Datenstrukturen gelernt habe, denke ich, es ist Wissen, das man haben muss! Es ist wichtig für alles, was Sie tun. Auch wenn Sie dieses Wissen möglicherweise nicht jeden Tag direkt einsetzen, bleibt es Ihnen immer ein Begriff und macht Sie zu einem besseren Programmierer.
Sie lernen viel über Leistung und obwohl Leistung normalerweise nicht die Nummer eins ist, hindern Sie Algorithmen daran, einige dumme Dinge mit wirklich schlechter Leistung zu tun. Auch wenn Leistung nicht die Nummer eins ist, gibt es keinen Grund, dieses Wissen nicht zu nutzen, um die richtigen Entscheidungen zu treffen.
quelle