一个Python就可以实现所有的算法-Python教程

资源魔 24 0

明天保举一个Python学习的干货。

几个印度小哥,正在GitHub上建了一个各类Python算法的老手入门年夜全,如今标星曾经超越2.6万。

这个名目次要包罗两局部内容:一是各类算法的根本原理解说,二是各类算法的代码完成。

传送门正在此:

https://github.com/TheAlgorithms/Python

简略引见下。

算法的根本原理解说局部,包罗排序算法、搜寻算法、插值算法、腾跃搜寻算法、疾速抉择算法、忌讳搜寻算法、加密算法等。

相干保举:《Python视频教程》

这局部内容,次要引见各类没有同算法的原理,此中很多引见还给出了静态表示图,以更初学者可以更直观的了解。搬运几个示例:

鸡尾酒排序算法

qq.gif

鸡尾酒(Cocktail shaker)排序,也叫双向冒泡排序(Bidirectional Bubble Sort)等。这是冒泡排序的一种变体。没有同的地方正在于,冒泡排序是从低到高比拟序列里的每一个元素,而鸡尾酒排序从两个标的目的(低到高、高到低)来回排序,效率更高。

疾速抉择算法

1566293249(1).png

疾速抉择(Quick Select)算法,用于查找无序列表中的第k个最小元素。这类算法及其变体,是理论中最罕用的高效抉择算法。

疾速抉择算法与疾速排序算法相似,抉择一个元素作为基准来对元素进行分区,将小于以及年夜于基准的元素分正在基准右边以及左边的两个区域。没有同的是,疾速抉择其实不递归拜访双边,而是只递归进入一边的元素中持续寻觅。

ROT13加密算法

1566293266(1).png

Rot13(rotate by 13 places)是一种十分简略的交换加密算法,用于加密26个英语字母。办法是:把每一个字母用厥后第13个字母替代。

当然这类算法破解起来也很简略,只要要反向交换就行,以是这类算法简直提供没有了甚么加密平安性,而且常常作为弱加密的典型案例。

别的,这个名目还给出了多种Python算法的代码完成。

包罗二叉树(Binary Tree)、静态布局(Dynamic Progra妹妹ing)、散列(Hashes)、线性代数、机械学习、神经网络等。

1566293282(1).png

比如正在机械学习这个种别里,给出了随机丛林分类、随机丛林回归、奢侈贝叶斯、决议计划树、k值聚类、线性回归、逻辑回归、感知机等。

这里截个梯度降落代码完成的图,做个表示:

1566293295(1).png

心愿这个名目对你学习有协助,再给一次传送门:

https://github.com/TheAlgorithms/Python

另有一事。

这几个印度小哥,不只仅搞了一个学Python的名目,相似的资本搜集名目还包罗:Java、C、C++、Scala、C#等……

1566293304(1).png

以上就是一个Python就能够完成一切的算法的具体内容,更多请存眷资源魔其它相干文章!

标签: Python 算法 python教程 python编程 python使用问题

抱歉,评论功能暂时关闭!