学会了 Python 基础知识,想进阶一下,那就来点算法吧!毕竟编程语言只是工具,结构算法才是灵魂。
新手如何入门 Python 算法?
几位印度小哥在 GitHub 上建了一个各种 Python 算法的新手入门大全。从原理到代码,全都给你交代清楚了。为了让新手更加直观的理解,有的部分还配了动图。
这个项目主要包括两部分内容:一是各种算法的基本原理讲解,二是各种算法的代码实现。
算法的代码实现
算法的代码实现给的资料也比较丰富,除了算法基础原理部分的 Python 代码,还有包括神经网络、机器学习、数学等等代码实现。
例如在神经网络部分,给出了 BP 神经网络、卷积神经网络、全卷积神经网络以及感知机等。
卷积神经网络代码示例
代码以 Python 文件格式保存在 GitHub 上,需要的同学可以自行保存下载。
算法原理
在算法原理部分主要介绍了排序算法、搜索算法、插值算法、跳跃搜索算法、快速选择算法、禁忌搜索算法、加密算法等。
当然,除了文字解释之外,还给出了帮助更好理解算法的相应资源链接,包括维基百科、动画交互网站链接。
例如,在一些算法部分中,其给出的动画交互链接,非常完美帮助理解算法的运行机制。
交互动画地址:
https://www.toptal.com/developers/sorting-algorithms/bubble-sort
排序算法
冒泡排序
冒泡排序,有时也被称做沉降排序,是一种比较简单的排序算法。这种算法的实现是通过遍历要排序的列表,把相邻两个不符合排列规则的数据项交换位置,然后重复遍历列表,直到不再出现需要交换的数据项。当没有数据项需要交换时,则表明该列表已排序。
桶排序算法
桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序,有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序。