重新整理 | Rachel
白眉林 | Jane
公司出品 | Python驻扎地(ID:pythonnews)
【编者按】计算机程序与演算法是其他人都要自学的此基础专业课程,他们写演算法的操作过程能协助他们更快地认知演算法路子,千万别鄙视每两个演算法,许多尽管貌似难,但可能将有许多坑。但坑却是要他们两个两个踩回来的,所以也多于他们踩过坑,就能让他们从方法论到专业技能都获得提升。为的是协助他们在那个假日能提升自学工作效率,高阶 Python 专业技能,本栏为他们所推荐了这份用 Python标识符同时实现演算法的天然资源帖,囊括从进阶到高阶的各种类型演算法。
Nenon中,笔者具体来说对工程项目地总体文本展开了两个概括,后为他们挑选出了两个文本非常丰富的部份,供他们更高工作效率地采用而此天然资源。
工程项目概要
那个工程项目为他们汇整了Python国际标准库同时实现的大部份演算法,对许多数学数学模型数学模型也略有牵涉。在标识符的工作效率上,该工程项目地文本可能将并没 Python 国际标准库那般高工作效率,但做为两个自学天然资源却是很值得称赞一读。上面对工程项目地文本展开两个约莫的剖析。为的是使文本更为易懂,本栏将该工程项目中的文本分割为的是四个部分。
此基础操作方式部份
数组处置与搜寻
次序
搜寻
计算机程序
队列
链表
栈
堆
哈希表
图
二叉树
字典树
并查集
运算部份
布尔运算
此基础数学运算
线性代数与矩阵
算数分析
网络协议部份
文件传输
网络流
服务端与客户端
高阶部份
机器自学
数学数学模型
图像处置
其他
动态编程
编程题解题集
密码学
重点文本介绍
在那个工程项目中并不是对所有文本都展开了详细介绍,有部份主题的标识符非常丰富。为的是协助他们高工作效率地利用而此自学天然资源,本栏将其中比较详细的部份单独摘出,并做两个简单的剖析,希望对他们略有协助。
计算机程序
在 data_structure 文件夹下,工程项目作者提供了大部份常用的 python 的同时实现标识符,包括哈希表、堆、栈、队列等等。具体如下图所示。
次序
在 sorts 文件夹下,作者给出了关于相关次序演算法的同时实现,包括冒泡次序、插入次序、堆次序等大部份常用演算法。部份演算法见下图。
搜寻
针对搜寻问题,作者在 searches 文件夹中给出了包括顺序搜寻、二分搜寻、禁忌搜索等常见搜寻演算法的同时实现。
动态编程
在 dynamic_programming 部份,作者提供了许多常用的动态编程方法,标识符主要针对各种类型动态编程任务。下图展示了部份标识符列表。
图结构的相关演算法
在 graphs 文件夹下,作者针对图结构的相关演算法给出了标识符,包括 dijkstra 最短路径演算法及其变体等。下图展示了部份标识符。
数学运算
在 maths 文件夹下,作者对 python 国际标准库支持的许多运算操作方式展开了同时实现,包括此基础的加减乘除运算、搜寻最大/最小值等等,部份标识符如下。
机器自学部份
在 machine_learning 文件夹中的文本主要为传统的机器自学方法的标识符同时实现,包括随机森林、朴素贝叶斯、kmeans 演算法、线性回归等。
密码学
在 ciphers 而此部份,作者给出了base64等编码的转码操作方式,并针对凯撒密码等加密方法给出了相应的同时实现标识符。部份标识符如下。
ProjectEuler 习题集解答
ProjectEuler 是两个在线习题集,它与LeetCode等习题集不同的地方在于,该习题集主要针对具有一定数学此基础的人进阶 Python 编程采用。该网站会对标识符的工作效率展开检查。在 project_euler 文件夹中,作者提供了33个习题的解答标识符,协助他们获得更愉悦的刷题体验。