Heute empfehle ich einen nützlichen Tipp zum Erlernen von Python.
Ein paar Inder haben auf GitHub eine Einsteiger-Enzyklopädie verschiedener Python-Algorithmen erstellt, die inzwischen mehr als 26.000 Sterne hat.
Dieses Projekt besteht hauptsächlich aus zwei Teilen: Einer ist die Erklärung der Grundprinzipien verschiedener Algorithmen und der andere ist die Code-Implementierung verschiedener Algorithmen.
Das Portal ist hier:
https://github.com/TheAlgorithms/Python
Eine kurze Einführung.
Erläuterung der Grundprinzipien von Algorithmen, einschließlich Sortieralgorithmen, Suchalgorithmen, Interpolationsalgorithmen, Sprungsuchalgorithmen, Schnellauswahlalgorithmen, Tabu-Suchalgorithmen, Verschlüsselungsalgorithmen usw.
Verwandte Empfehlungen: „Python-Video-Tutorial“
In diesem Teil werden hauptsächlich die Prinzipien verschiedener Algorithmen vorgestellt, von denen viele auch dynamische schematische Diagramme bereitstellen, damit Anfänger sie verstehen können es intuitiver. Hier ein paar Beispiele:
Cocktail-Sortieralgorithmus
Cocktail-Shaker-Sortierung, auch Bidirektionale Blasensortierung genannt , usw. Dies ist eine Variation der Blasenart. Der Unterschied besteht darin, dass die Blasensortierung jedes Element in der Sequenz von niedrig nach hoch vergleicht, während die Cocktailsortierung in zwei Richtungen hin und her sortiert (niedrig nach hoch, hoch nach niedrig), was effizienter ist.
Schnellauswahl-Algorithmus
Schnellauswahl-Algorithmus, der zum Auffinden ungeordneter Listen verwendet wird. Das k-kleinste Element in . Dieser Algorithmus und seine Varianten sind die in der Praxis am häufigsten verwendeten effizienten Auswahlalgorithmen.
Der Schnellauswahlalgorithmus ähnelt dem Schnellsortierungsalgorithmus. Er wählt ein Element als Benchmark aus, um die Elemente zu unterteilen, und unterteilt die Elemente, die kleiner und größer als der Benchmark sind, in die beiden Bereiche auf der linken Seite und rechts vom Benchmark. Der Unterschied besteht darin, dass bei der Schnellauswahl nicht rekursiv auf beide Seiten zugegriffen wird, sondern nur die Elemente auf einer Seite rekursiv eingegeben werden, um die Suche fortzusetzen.
ROT13-Verschlüsselungsalgorithmus
Rot13 (um 13 Stellen drehen) ist ein sehr einfacher Ersatz-Verschlüsselungsalgorithmus Wird zur Verschlüsselung der 26 englischen Buchstaben verwendet. Die Methode ist: Ersetzen Sie jeden Buchstaben durch den 13. Buchstaben danach.
Natürlich ist dieser Algorithmus auch sehr einfach zu knacken. Er erfordert nur eine umgekehrte Substitution. Daher bietet dieser Algorithmus fast keine Verschlüsselungssicherheit und wird häufig als typischer Fall einer schwachen Verschlüsselung verwendet.
Darüber hinaus stellt dieses Projekt auch Code-Implementierungen verschiedener Python-Algorithmen bereit.
Einschließlich Binärbaum, dynamische Programmierung, Hashes, lineare Algebra, maschinelles Lernen, neuronale Netze usw.
Zum Beispiel in der Kategorie maschinelles Lernen, zufällige Waldklassifizierung, zufällige Waldregression, naive Bayes, Entscheidungsbaum, K-Wert-Clustering, lineare Regression, logistische Regression, Perzeptron usw.
Hier ist ein Bild der Implementierung des Gradientenabstiegscodes zur Veranschaulichung:
Ich hoffe, dass dieses Projekt für Ihr Studium hilfreich sein wird, und das werde ich auch tun Gib dir ein weiteres Portal:
https://github.com/TheAlgorithms/Python
Noch etwas.
Diese Inder haben nicht nur ein Projekt zum Erlernen von Python gestartet, sondern ähnliche Projekte zur Ressourcensammlung umfassen auch: Java, C, C++, Scala, C# usw.
Das obige ist der detaillierte Inhalt vonEin Python kann alle Algorithmen implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!