Un Python peut implémenter tous les algorithmes

爱喝马黛茶的安东尼
Libérer: 2019-08-20 17:58:30
avant
2611 Les gens l'ont consulté

Un Python peut implémenter tous les algorithmes

Aujourd'hui, je recommande une astuce utile pour apprendre Python.

Quelques Indiens ont créé une encyclopédie pour débutants de divers algorithmes Python sur GitHub, qui compte désormais plus de 26 000 étoiles.

Ce projet comprend principalement deux parties : l'une est l'explication des principes de base de divers algorithmes et l'autre est l'implémentation du code de divers algorithmes.

Le portail est ici :

https://github.com/TheAlgorithms/Python

Une brève introduction.

Explication des principes de base des algorithmes, notamment les algorithmes de tri, les algorithmes de recherche, les algorithmes d'interpolation, les algorithmes de recherche par saut, les algorithmes de sélection rapide, les algorithmes de recherche tabou, les algorithmes de cryptage, etc.

Recommandations associées : "Tutoriel vidéo Python"

Cette partie présente principalement les principes de divers algorithmes, dont beaucoup fournissent également des diagrammes schématiques dynamiques afin que les débutants puissent comprendre. plus intuitivement. Quelques exemples en mouvement :

Algorithme de tri des cocktails

Un Python peut implémenter tous les algorithmes

Tri des shakers de cocktails, également appelé tri bidirectionnel à bulles , etc. Il s'agit d'une variante du tri à bulles. La différence est que le tri à bulles compare chaque élément de la séquence de bas en haut, tandis que le tri à cocktail trie d'avant en arrière dans deux directions (de bas en haut, de haut en bas), ce qui est plus efficace.

Algorithme de sélection rapide

Un Python peut implémenter tous les algorithmes

Algorithme de sélection rapide, utilisé pour trouver des listes non ordonnées Le kième plus petit élément de . Cet algorithme et ses variantes sont les algorithmes de sélection efficaces les plus couramment utilisés en pratique.

L'algorithme de sélection rapide est similaire à l'algorithme de tri rapide. Il sélectionne un élément comme référence pour partitionner les éléments et divise les éléments plus petits et plus grands que la référence en deux zones à gauche. et à droite du benchmark. La différence est que la sélection rapide n'accède pas de manière récursive aux deux côtés, mais saisit uniquement de manière récursive les éléments d'un côté pour continuer la recherche.

Algorithme de cryptage ROT13

Un Python peut implémenter tous les algorithmes

Rot13 (rotation de 13 places) est un algorithme de cryptage de remplacement très simple utilisé pour chiffrer les 26 lettres anglaises. La méthode est la suivante : remplacez chaque lettre par la 13ème lettre qui la suit.

Bien sûr, cet algorithme est également très simple à déchiffrer. Il ne nécessite qu'une substitution inverse. Par conséquent, cet algorithme n'offre presque aucune sécurité de cryptage et est souvent utilisé comme cas typique de cryptage faible.

De plus, ce projet fournit également des implémentations de code de divers algorithmes Python.

Y compris l'arbre binaire, la programmation dynamique, les hachages, l'algèbre linéaire, l'apprentissage automatique, les réseaux de neurones, etc.

Un Python peut implémenter tous les algorithmes

Par exemple, dans la catégorie de l'apprentissage automatique, de la classification aléatoire des forêts, de la régression forestière aléatoire, de Bayes naïf, de l'arbre de décision, du regroupement de valeurs k, de la régression linéaire, de la régression logistique, perceptron, etc.

Voici une photo de l'implémentation du code de descente de gradient, à titre d'illustration :

Un Python peut implémenter tous les algorithmes

J'espère que ce projet sera utile à votre étude, et je le ferai vous donne un autre portail :

https://github.com/TheAlgorithms/Python

Encore une chose.

Ces Indiens ont non seulement lancé un projet pour apprendre Python, mais des projets similaires de collecte de ressources incluent également : Java, C, C++, Scala, C#, etc...

Un Python peut implémenter tous les algorithmes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jianshu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal