Home - liuzhen153/play-algorithm-python GitHub Wiki
⌨玩转算法 - Python语言描述
以最简单的方式走进算法的世界,我们要从入门到努力,不要从入门到放弃。 目标读者:
- 零基础同学
- 刚入门同学
- 想快速复习的同学
❗声明
所有实现参考了很多书籍或前辈的分享,只用于学习和演示,请注意以下几点:
- 我们并不完全保证内容的标准性,如遇到有问题的地方还请及时指正
- 其中很多内容可能来自书籍或网络上的分享,如果冒犯了您的著作权等,请及时指出,我们会第一时间处理
- 所有实现均用于学习和演示目的,它们的效率将低于很多标准库中的实现
- 无特殊说明,示例代码均基于
python3
- 本教程主要目的是学习或复习算法,均不做
异常捕获
- 相对于code,wiki会有一到两天的延迟(整理需要时间🙂)
❓学习路线
算法理论>>
- 什么是算法
- 算法和程序的区别
- 运行时间的计算和表示
- 如何选择算法
数据结构>>
- 什么是数据结构
- 如何选择数据结构
- 几种基本的数据结构:链表、数组、栈、堆、队列、哈希、二叉树
Python中的数据结构>>
算法实现
排序
- 冒泡排序
- 选择排序
- 堆排序
- 插入排序
- 归并排序
- 快速排序
数组
- 线性查找
- 二分查找
💡推荐学习(待规划,可能会取消)
安全
- 哈希函数
- 共享秘钥加密
- 公开密钥加密
- 混合加密
- 迪菲-赫尔曼密钥交换
- 消息认证码
- 数字签名
- 数字证书
图
- 广度优先搜索
- 深度优先搜索
- 贝尔曼-福特算法
- 狄克斯特拉算法
- A*算法
聚类
- k-means算法
其他
- 欧几里得算法
- 素性测试
- 网页排名
- 汉诺塔
📚参考附录
- 【书籍】我的第一本算法书
- 【网站】The Algorithms - Python
- 【网站】维基百科
- 【网站】百度百科
- 【博客】SakuraOne
- 【网站】菜鸟教程