今天推荐一个Python学习的干货。git
几个印度小哥,在GitHub上建了一个各类Python算法的新手入门大全,如今标星已经超过2.6万。github
这个项目主要包括两部份内容:一是各类算法的基本原理讲解,二是各类算法的代码实现。算法
传送门在此:安全
https://github.com/TheAlgorit...微信
简单介绍下。网络
算法的基本原理讲解部分,包括排序算法、搜索算法、插值算法、跳跃搜索算法、快速选择算法、禁忌搜索算法、加密算法等。机器学习
这部份内容,主要介绍各类不一样算法的原理,其中很多介绍还给出了动态示意图,以更初学者可以更直观的理解。搬运几个示例:学习
鸡尾酒排序算法ui
鸡尾酒(Cocktail shaker)排序,也叫双向冒泡排序(Bidirectional Bubble Sort)等。这是冒泡排序的一种变体。不一样之处在于,冒泡排序是从低到高比较序列里的每一个元素,而鸡尾酒排序加密
从两个方向(低到高、高到低)来回排序,效率更高。
快速选择算法
快速选择(Quick Select)算法,用于查找无序列表中的第k个最小元素。这种算法及其变体,是实践中最经常使用的高效选择算法。
快速选择算法与快速排序算法相似,选择一个元素做为基准来对元素进行分区,将小于和大于基准的元素分在基准左边和右边的两个区域。不一样的是,快速选择并不递归访问双边,而是只递归进
入一边的元素中继续寻找。
ROT13加密算法
Rot13(rotate by 13 places)是一种很是简单的替换加密算法,用于加密26个英语字母。方法是:把每一个字母用其后第13个字母代替。
固然这种算法破解起来也很简单,只须要反向替换就行,因此这种算法几乎提供不了什么加密安全性,而且常常做为弱加密的典型案例。
此外,这个项目还给出了多种Python算法的代码实现。
包括二叉树(Binary Tree)、动态规划(Dynamic Programming)、散列(Hashes)、线性代数、机器学习、神经网络等。
比方在机器学习这个类别里,给出了随机森林分类、随机森林回归、朴素贝叶斯、决策树、k值聚类、线性回归、逻辑回归、感知机等。
这里截个梯度降低代码实现的图,作个示意:
但愿这个项目对你学习有帮助,再给一次传送门:
https://github.com/TheAlgorit...
还有一事。
这几个印度小哥,不单单搞了一个学Python的项目,相似的资源收集项目还包括:Java、C、C++、Scala、C#等……
以上就是一个Python就能够实现全部的算法的详细内容,但愿对你有所帮助。
学习更多PHP知识、视频传送门:Python视频课程、Python教程