github标星58500+:常见数据结构与算法的python实现

昨天分享的文章介绍了如何学习数据结构算法:

今天介绍一个 github 仓库,用 Python 实现了常见的数据结构与算法。

另外,前几天的红包抽奖,今晚就开奖了,还没参与的,赶紧点进来:


有人问我数据结构与算法怎么学?

免费的我推荐严蔚敏老师的数据结构课程,网上可以查到,当年考博士时候学的就是这个。

收费的我推荐极客时间的《数据结构与算法之美》:

http://gk.link/a/108GK ,内容挺全面,学了应该对算法有帮助。

以上两个教程都不是用python实现的,有群友问怎么用python实现常见的数据结构算法?我找到一个github标星58500+star的仓库,把各种常见算法用python实现了,而且还有动图演示,非常值得推荐。(黄海广)

仓库说明

这个仓库用python语言实现了绝大部分算法,主要是用于教学目的,因此效率稍微低于工业界。

仓库地址:

https://github.com/TheAlgorithms/Python

内容说明

包含了常见的算法的python实现,如二叉树、排序、查找等等。这些是算法工程师必须掌握的技能。

文件目录

640?wx_fmt=png

动画演示

640?wx_fmt=png

冒泡排序

640?wx_fmt=png

桶排序

640?wx_fmt=gif

快速排序

典型代码

(这个是冒泡排序的代码):

from __future__ import print_functiondef bubble_sort(collection):"""Pure implementation of bubble sort algorithm in Python:param collection: some mutable ordered collection with heterogeneouscomparable items inside:return: the same collection ordered by ascendingExamples:>>> bubble_sort([0, 5, 3, 2, 2])[0, 2, 2, 3, 5]>>> bubble_sort([])[]>>> bubble_sort([-2, -5, -45])[-45, -5, -2]>>> bubble_sort([-23,0,6,-4,34])[-23,-4,0,6,34]
"""length = len(collection)for i in range(length-1):swapped = Falsefor j in range(length-1-i):if collection[j] > collection[j+1]:swapped = Truecollection[j], collection[j+1] = collection[j+1], collection[j]if not swapped: break # Stop iteration if the collection is sorted.return collectionif __name__ == '__main__':try:raw_input # Python 2except NameError:raw_input = input # Python 3user_input = raw_input('Enter numbers separated by a comma:').strip()unsorted = [int(item) for item in user_input.split(',')]print(*bubble_sort(unsorted), sep=',')

总结

数据结构与算法设计怎么学?

免费的我推荐严蔚敏老师的数据结构课程,网上可以查到,用c语言实现,当年考博士时候学的就是这个。

收费的我推荐极客时间的《数据结构与算法之美》:

http://gk.link/a/108GK ,内容挺全面,学了应该对算法有很大帮助。

算法的python实现推荐github上一个58500+多star的仓库,把各种常见算法用python实现了,而且还有动图演示。

仓库地址:

https://github.com/TheAlgorithms/Python

640?wx_fmt=png

机器学习初学者

640?wx_fmt=png

黄海广博士创建的公众号,黄海广博士个人知乎粉丝21000+,github排名全球前120名(30000+)。本公众号致力于人工智能方向的科普性文章,为初学者提供学习路线和基础资料。原创作品有:吴恩达机器学习个人笔记、吴恩达深度学习笔记等。

往期精彩回顾

备注:加入本站微信群或者qq群,请回复“加群

加入知识星球(4100+用户,ID:92416895),请回复“知识星球

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【吐血整理】那些让你起飞的计算机基础知识:学什么,怎么学?

作者:帅地来源公众号:苦逼的码农我公众号里的文章,写的大部分都是与计算机基础知识相关的,这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。框架千变万化&#xf…

数据结构算法入门--一文了解什么是复杂度

图片来自 Pixabay,作者:TeroVesalainen2019 年第 74 篇文章,总第 98 篇文章本文大约 3000 字,阅读大约需要 10 分钟最近会开始更新一个数据结构算法的学习系列,同时不定期更新 leetcode 的刷题。这是第一篇文章&#x…

一文了解数组

2019 年第 75 篇文章,总第 99 篇文章”数据结构算法入门系列的第二篇,这次介绍下数组, 数组是一个最基础而且常见的数据结构,几乎每种编程语言都有。上一篇文章:数据结构算法入门--一文了解什么是复杂度今日推荐阅读…

Python3.8 了解的差不多了吧,Python3.9 新特性了解一下!

"Python学习开发",一个值得加星标的公众号。正文共:4946 字 1 图预计阅读时间:13 分钟作者:陈祥安原文有删改:https://docs.python.org/3.9/whatsnew/3.9.html本文将解释 Python 3.9 中的新特性,而不是 3.8。有关完整的…

首发:适合初学者入门人工智能的路线及资料下载

本文为AI入门提供了一个简易的学习路线,并提供了代码和数据集下载。(黄海广)一、前言AI以及机器学习入门,初学者遇到的问题非常多,但最大的问题就是:资料太多!!!看不完&a…

数据结构算法入门--链表

2019 年第 76 篇文章,总第 100 篇文章 本文大约 3200 字,阅读大约需要 10 分钟 数据结构算法系列: 数据结构算法入门系列第三篇--链表,链表也是非常常见的数据结构,面试过程中也会经常考到相关的题目。 本文首先介绍链…

react学习(3)----不能在该位置用setstate

this.setState({ pageIndex: 1, pageSize: 10, });

带你少走弯路:强烈推荐的Keras快速入门资料和翻译(可下载)

上次写了TensorFlow和PyTorch的快速入门资料,受到很多好评,读者强烈建议我再出一个keras的快速入门路线,经过翻译和搜索网上资源,我推荐4份入门资料,希望对大家有所帮助。备注:另外两个入门资料很负责任地说…

Mac 下安装配置 Python 开发环境

图片来源:Unsplash,作者 Markus Spiske 2019 年第 77 篇文章,总第 101 篇文章前言记录下 Mac 电脑的开发环境安装配置,主要包括:安装&使用Homebrew安装使用 git安装 anaconda,配置 python3 环境安装 ju…

react学习(5)----通过设置初始值控制页面render渲染

boothActivityCode: this.props.location.query.code || ,

【Android源代码下载】收集整理android界面UI效果源码

在Android开发中,Android界面UI效果设计一直都是很多童鞋关注的问题,今天给大家分享下大神收集整理的多个android界面UI效果,都是源码,都是干货,贡献给各位网友! 话不多说,直接上效果图&#xf…

一文了解类别型特征的编码方法

来源:Unsplash,作者:an Rizzari2019 年第 78 篇文章,总第 102 篇文章目录:问题描述数据准备标签编码自定义二分类one-hot 编码总结问题描述一般特征可以分为两类特征,连续型和离散型特征,而离散…

如何用栈实现浏览器的前进和后退?

2019 年第 79 篇文章,总第 103 篇文章数据结构与算法系列的第四篇文章,前三篇文章:前言浏览器的前进和后退功能怎么用栈来实现呢?这里先介绍一下栈的定义和实现,并介绍它的一些常用的应用,最后再简单实现一…

数据科学家令人惊叹的排序技巧

2019 年第 80 篇文章,总第 104 篇文章本文大约 7800 字,阅读大约需要20分钟原题 | Surprising Sorting Tips for Data Scientists作者 | Jeff Hale原文 | https://towardsdatascience.com/surprising-sorting-tips-for-data-scientists-9c360776d7e译者 …

几个有趣的python技巧

2019 年第 82 篇文章,总第 106 篇文章标题 | python-is-cool作者 | chiphuyen原文 | https://github.com/chiphuyen/python-is-cool译者 | kbsc13("算法猿的成长"公众号作者)声明 | 翻译是出于交流学习的目的,欢迎转载,但请保留本文…

20191215周学习总结

最近会打算每周总结一下学习的内容,主要内容可能是看过的书的一些学习笔记、论文阅读、学习的知识点以及推荐一些文章。这周的学习包括:推荐系统的知识点整理机器学习的技巧学习linux下两台机器的ssh免密登陆方式书籍阅读效率方法推荐系统因为工作方向的…

玩转12306之系统登录

【申明:本文所涉及的技术和分析的目的都是为了学习和交流,任何人使用文中所提的技术或成果做出的违法事情与我无关,大家购买火车票还是去12306官网上去购买。】 从今天起,我开始分析12306网站的Http请求,以及编写一个客…