龙空技术网

GitHub标星2.6万!Python算法新手入门大全

编程派 609

前言:

而今姐妹们对“python算法基础”大概比较珍视,姐妹们都想要学习一些“python算法基础”的相关内容。那么小编在网摘上网罗了一些对于“python算法基础””的相关文章,希望大家能喜欢,看官们快快来了解一下吧!

作者:问耕

出品:量子位

今天推荐一个Python学习的干货。

几个印度小哥,在GitHub上建了一个各种Python算法的新手入门大全,现在标星已经超过2.6万。这个项目主要包括两部分内容:一是各种算法的基本原理讲解,二是各种算法的代码实现。

传送门在此:

简单介绍下。

算法的基本原理讲解部分,包括排序算法、搜索算法、插值算法、跳跃搜索算法、快速选择算法、禁忌搜索算法、加密算法等。

这部分内容,主要介绍各种不同算法的原理,其中不少介绍还给出了动态示意图,以更初学者能够更直观的理解。搬运几个示例:

鸡尾酒排序算法

鸡尾酒(Cocktail shaker)排序,也叫双向冒泡排序(Bidirectional Bubble Sort)等。这是冒泡排序的一种变体。不同之处在于,冒泡排序是从低到高比较序列里的每个元素,而鸡尾酒排序从两个方向(低到高、高到低)来回排序,效率更高。

快速选择算法

快速选择(Quick Select)算法,用于查找无序列表中的第k个最小元素。这种算法及其变体,是实践中最常用的高效选择算法。

快速选择算法与快速排序算法类似,选择一个元素作为基准来对元素进行分区,将小于和大于基准的元素分在基准左边和右边的两个区域。不同的是,快速选择并不递归访问双边,而是只递归进入一边的元素中继续寻找。

ROT13加密算法

Rot13(rotate by 13 places)是一种非常简单的替换加密算法,用于加密26个英语字母。方法是:把每个字母用其后第13个字母代替。

当然这种算法破解起来也很简单,只需要反向替换就行,所以这种算法几乎提供不了什么加密安全性,并且经常作为弱加密的典型案例。

此外,这个项目还给出了多种Python算法的代码实现。

包括二叉树(Binary Tree)、动态规划(Dynamic Programming)、散列(Hashes)、线性代数、机器学习、神经网络等。

比方在机器学习这个类别里,给出了随机森林分类、随机森林回归、朴素贝叶斯、决策树、k值聚类、线性回归、逻辑回归、感知机等。

这里截个梯度下降代码实现的图,做个示意。

希望这个项目对你学习有帮助,再给一次传送门:

还有一事。

这几个印度小哥,不仅仅搞了一个学Python的项目,类似的资源收集项目还包括:Java、C、C++、Scala、C#等……

— 完—

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「pybooks02」,立即获取 O'Reilly 出版社推出的免费 Python 相关电子书合集

回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版

印度小伙写了套深度学习教程,Github上星标已经5000+

上百个数据文件合并,只能手动复制粘贴?教你一招十秒搞定!

一个提升图像识别准确率的精妙技巧

一文读懂:从 Python 打包到 CLI 工具

如何使用 Python 进行时间序列预测?

美亚Kindle排名第一的Python 3入门书,火遍了整个编程圈

十分钟搭建私有 Jupyter Notebook 服务器

使用 Python 制作属于自己的 PDF 电子书

12步轻松搞定Python装饰器

200 行代码实现 2048 游戏

题图:pexels,CC0 授权。

标签: #python算法基础 #python新手代码大全pdf