0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

汇总Python标准库实现的大部分算法

电子工程师 来源:lq 2019-05-14 09:08 次阅读

【导语】数据结构与算法是所有人都要学习的基础课程,自己写算法的过程可以帮助我们更好地理解算法思路,不要轻视每一个算法,一些虽然看似容易,但可能有很多坑。但是坑还是要自己一个一个踩过来的,而且也只有自己踩过坑,才能让自己从理论到技能都得到提升。为了帮助大家在这个假期能提高学习效率,进阶 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个习题的解答代码,帮助大家获得更愉悦的刷题体验。

结语

以上就是今天笔者为大家分享的算法实现大礼包内容,希望对大家有所帮助!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4599

    浏览量

    92617
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132393
  • python
    +关注

    关注

    55

    文章

    4778

    浏览量

    84439

原文标题:最全Python算法实现资源汇总!

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于 Python 的深度学习Keras入门知识

    (GPU)。大部分后端取决于其他软件,例如,NVIDIA® CUDA® 工具包和 CUDA 深度神经网络 (cuDNN)。
    的头像 发表于 05-14 04:05 5796次阅读

    为什么大部分LED内不集成限流电阻

    今天给大家分享一篇分析为什么大部分LED内不集成限流电阻的文章。
    发表于 09-19 10:49 880次阅读

    电路板为什么大部分都是绿色的?

    电路板为什么大部分都是绿色的?大家来讨论下。
    发表于 11-25 20:44

    Micro u*** 等大部分USB封装

    USB pcb 封装 Altium Designer 封装USB封装Micro u***等大部分USB封装 供有需要需要的朋友下载
    发表于 11-21 17:18

    实现大部分功能的51单片机库,不看肯定后悔

    计划写一个基本能实现大部分功能的51单片机库,此博客是在学习过程中所做的笔记,代码仓库:https://gitee.com/smalkang/library_51.git,笔记和代码中有何错误,请指正。
    发表于 11-18 07:20

    程控增益放大部分电路

    程控增益放大部分电路 为了改变放大器的增益,一般有两条
    发表于 12-01 16:55 1783次阅读
    程控增益放<b class='flag-5'>大部分</b>电路

    TESTLICHENGlpc大部分历程

    电子发烧友网站提供《TESTLICHENGlpc大部分历程.rar》资料免费下载
    发表于 03-23 17:23 0次下载

    140种Python标准、第三方和外部工具都有了

    Python标准Python自带的标准Python
    的头像 发表于 08-02 09:24 3296次阅读

    生活中为什么大部分采用交流电

    生活中为什么采用交流电,既然交流输电损耗比直流多,而且除少数设备能直接使用交流电以外,大部分电子设备都使用直流电。那我们生活中大部分电为什么还是采用交流电呢?
    的头像 发表于 11-16 10:44 1.7w次阅读

    Python标准中文版电子书免费下载

    Python标准包括了很多的模块, 从 Python 语言自身特定的类型和声明, 到一些只用于少数程序的不著名的模块。 本章描述了一些基本的
    发表于 04-15 08:00 0次下载
    <b class='flag-5'>Python</b><b class='flag-5'>标准</b><b class='flag-5'>库</b>中文版电子书免费下载

    Python标准中文版资料合集

    Python标准包括了很多的模块, 从 Python 语言自身特定的类型和声明, 到一些只用于少数程序的不著名的模块。 本章描述了一些基本的
    发表于 08-06 08:00 0次下载

    八个常用的Python GUI

    Python GUI 有很多,下面给大家罗列常用的几种 GUI 。下面介绍的这些GUI框架,能满足大部分开发人员的需要,你可以根据自己的需求,选择合适的GUI
    的头像 发表于 08-26 14:52 2470次阅读

    Python实现所有算法-基本牛顿法

    Python实现所有算法-二分法 Python实现所有算法-力系统是否静态平衡
    的头像 发表于 07-13 10:40 1610次阅读

    大部分的PCB封装以及元件下载

    大部分的PCB封装以及元件免费下载。
    发表于 07-13 16:09 0次下载

    法官驳回大部分 GitHub Copilot 版权索赔要求

    在开发者对 GitHub、微软和 OpenAI 提起的版权诉讼中,法官驳回了大部分诉讼请求。
    的头像 发表于 11-13 12:13 79次阅读