最全Python算法实现资源汇总!

2019 年 5 月 13 日 AI100


整理 | Rachel

责编 | Jane

出品 | Python大本营(ID:pythonnews)


【导语】数据结构与算法是所有人都要学习的基础课程,自己写算法的过程可以帮助我们更好地理解算法思路,不要轻视每一个算法,一些虽然看似容易,但可能有很多坑。但是坑还是要自己一个一个踩过来的,而且也只有自己踩过坑,才能让自己从理论到技能都得到提升。为了帮助大家在这个假期能提高学习效率,进阶 Python 技能,笔者为大家推荐了一份用 Python代码实现算法的资源帖,涵盖从入门到高级的各类算法。


下文中,笔者首先对项目的整体内容进行了一个归纳,之后为大家选取了几个内容比较丰富的部分,供大家更高效地使用这一资源。


项目概览


这个项目为大家汇总了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个习题的解答代码,帮助大家获得更愉悦的刷题体验。


结语


以上就是今天笔者为大家分享的算法实现大礼包内容,希望对大家有所帮助!具体项目内容参见如下地址:

GitHub项目地址:

https://github.com/TheAlgorithms/Python


(*本文由Python大本营编译,转载请联系微信1092722531)


CTA核心技术及应用峰会

5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。


更多重磅嘉宾请识别海报二维码查看。目前会议8折预售票抢购中,点击阅读原文即刻抢购。添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。


推荐阅读



点击阅读原文,了解CTA核心技术及应用峰会

登录查看更多
3

相关内容

【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
340+阅读 · 2020年3月17日
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
94+阅读 · 2019年12月23日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
我的推荐系统入门经验~
大数据技术
39+阅读 · 2019年9月19日
Github标星4w+,如何用Python实现所有算法
七月在线实验室
5+阅读 · 2019年5月21日
Github标星2w+,热榜第一,如何用Python实现所有算法
大数据文摘
7+阅读 · 2019年4月28日
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
GitHub标星2.6万!Python算法新手入门大全
量子位
3+阅读 · 2019年4月27日
超强干货!TensorFlow易用代码大集合...
机器学习算法与Python学习
6+阅读 · 2019年2月20日
机器学习的Pytorch实现资源集合
专知
11+阅读 · 2018年9月1日
资源 | 深度学习图像标注工具汇总
人工智能头条
9+阅读 · 2018年6月12日
分享 | 精选课程资源汇总
黑龙江大学自然语言处理实验室
10+阅读 · 2017年11月1日
Image Captioning based on Deep Reinforcement Learning
Arxiv
3+阅读 · 2018年4月18日
Arxiv
17+阅读 · 2018年4月2日
VIP会员
相关VIP内容
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
340+阅读 · 2020年3月17日
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
94+阅读 · 2019年12月23日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
我的推荐系统入门经验~
大数据技术
39+阅读 · 2019年9月19日
Github标星4w+,如何用Python实现所有算法
七月在线实验室
5+阅读 · 2019年5月21日
Github标星2w+,热榜第一,如何用Python实现所有算法
大数据文摘
7+阅读 · 2019年4月28日
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
GitHub标星2.6万!Python算法新手入门大全
量子位
3+阅读 · 2019年4月27日
超强干货!TensorFlow易用代码大集合...
机器学习算法与Python学习
6+阅读 · 2019年2月20日
机器学习的Pytorch实现资源集合
专知
11+阅读 · 2018年9月1日
资源 | 深度学习图像标注工具汇总
人工智能头条
9+阅读 · 2018年6月12日
分享 | 精选课程资源汇总
黑龙江大学自然语言处理实验室
10+阅读 · 2017年11月1日
Top
微信扫码咨询专知VIP会员