Today I recommend a useful tip for learning Python.
A few Indian guys have built an introductory guide to various Python algorithms on GitHub, which now has more than 26,000 stars.
This project mainly includes two parts: one is the explanation of the basic principles of various algorithms, and the other is the code implementation of various algorithms.
The portal is here:
https://github.com/TheAlgorithms/Python
A brief introduction.
Explanation of the basic principles of algorithms, including sorting algorithms, search algorithms, interpolation algorithms, jump search algorithms, fast selection algorithms, tabu search algorithms, encryption algorithms, etc.
Related recommendations: "Python Video Tutorial"
This part mainly introduces the principles of various algorithms, many of which also provide dynamic schematic diagrams. So that beginners can understand it more intuitively. Moving a few examples:
Cocktail sorting algorithm
Cocktail shaker sorting, also called Bidirectional Bubble Sort, etc. This is a variation of bubble sort. The difference is that bubble sort compares each element in the sequence from low to high, while cocktail sort sorts back and forth in two directions (low to high, high to low), which is more efficient.
Quick Select Algorithm
##Quick Select algorithm, used to find unordered lists The kth smallest element in . This algorithm and its variants are the most commonly used efficient selection algorithms in practice. The quick selection algorithm is similar to the quick sort algorithm. It selects an element as the benchmark to partition the elements, and divides the elements that are smaller than and larger than the benchmark into the two areas to the left and right of the benchmark. The difference is that quick selection does not recursively access both sides, but only recursively enters the elements on one side to continue searching.
ROT13 encryption algorithm
##Rot13 (rotate by 13 places) is a very simple replacement Encryption algorithm used to encrypt the 26 English letters. The method is: replace each letter with the 13th letter after it.
Of course, this algorithm is also very simple to crack. It only requires reverse substitution. Therefore, this algorithm provides almost no encryption security and is often used as a typical case of weak encryption.
In addition, this project also provides code implementations of various Python algorithms.
Includes Binary Tree, Dynamic Programming, Hashes, Linear Algebra, Machine Learning, Neural Networks, etc.
For example, in the category of machine learning, random forest classification, random forest regression, naive Bayes, decision tree, k-value clustering, linear regression, Logistic regression, perceptron, etc.
Here is a picture of the gradient descent code implementation, as an illustration:
I hope this project will be helpful to your study, and I will give you another portal:
https://github.com/TheAlgorithms/Python
One more thing.
These Indian guys not only started a project to learn Python, but similar resource collection projects also include: Java, C, C, Scala, C#, etc...
The above is the detailed content of One Python can implement all algorithms. For more information, please follow other related articles on the PHP Chinese website!