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…

简单ajax库

1 function TuziAjax(reqType,url,fnoK, fnFail)2 {3 var xmlHttp null;4 if (window.XMLHttpRequest) { 5 xmlHttp new XMLHttpRequest();6 }7 else { 8 xmlHttp new ActiveXObject("Microsoft.XMLHTTP");//兼容IE69 } 10 …

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

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

Java String和Date的转换 Date类型操作

String—>Date String dateString "2012-12-06 "; try {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd ");Date date sdf.parse(dateString); } catch (ParseException e) {System.out.println(e.getMessage()); } /*** 字符串转换到时间格…

一文了解数组

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。有关完整的…

React工作(1)---export导出

import React, { Component } from react;class List extends Component {constructor(props) {super(props);}render() {return <div>1111</div>;} }export default List;

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

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

动态SQL中变量赋值

在动态SQL语句中进行变量的值绑定比较麻烦&#xff0c;这儿做个记录 declare COUNT int,sql nvarchar(max) set sql select COUNT count(id) from tbl_sys_dict where root_key WT_TYPE execute sp_executesql sql, NCOUNT int output, COUNT output print COUNT 转载于:htt…

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

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

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

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

后台命名查询sql查某几个字段传到前台

dwr调用查出数据库字段 传给前台显示 前台只能接受list 后台数据放进list传入前台 name-quary中 <!-- 定义sql 通过单位id 查单位名称 --> <sql-query name"getStationName"> <![CDATA[ select STATION_ID,STATION_NAME from MF_STATION wher…

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

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

hadoop遇到的问题及处理

1:杀掉hadoop作业 列出作业 ./hadoop job -list杀掉 ./hadoop job -kill job_id1&#xff1a;某些节点出现running asprocess XXX. Stop it first 这是由于各节点登录用户为root&#xff0c;在启动hadoop前&#xff0c;务必将各节点用户切换至普通用户hadoop下&#xff0c;切换…

Mac 下安装配置 Python 开发环境

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

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

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

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

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