11# Python 算法与数据结构视频教程
22
33## 课程简介
4- 数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛。目前关于 Python 算法和数据结构的中文资料比较欠缺 ,
5- 笔者尝试录制视频教程帮助 Python 初学者掌握常用算法和数据结构 ,提升开发技能。
4+ 数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛。目前关于 Python 算法和数据结构的系统中文资料比较欠缺 ,
5+ 笔者尝试录制视频教程帮助 Python 开发者掌握常用算法和数据结构 ,提升开发技能。
66本教程是付费教程(文字内容和代码免费),因为笔者录制的过程中除了购买软件、手写板等硬件之外,业余需要花费很多时间和精力来录制视频、查资料、编写课件和代码,养家糊口不容易,希望大家体谅。
77
88## 链接
3737电子书:[ 《Python web 入坑指南》] ( http://python-web-guide.readthedocs.io/zh/latest/ )
3838
3939## 课程内容
40- 包括我们在业务开发和面试中常用的算法和数据结构,希望可以帮助新人快速上手 ,很多老手写业务代码写多了很多基础知识忘记了,
41- 也可以作为回顾。课程尽量用通俗的方式讲解,结合 python 语言和日常开发实践的经验。
40+ 包括我们在业务开发和面试中常用的算法和数据结构,希望可以帮助 Python 开发者快速上手 ,很多老手写业务代码写多了很多基础知识忘记了,
41+ 也可以作为回顾。课程尽量用通俗的方式讲解,结合 python 语言和日常开发实践的经验。书中代码可以作为大家的面试笔试参考。
4242对于每个算法和用到的数据结构我们需要知道:
4343
4444- 原理
@@ -99,9 +99,9 @@ Python 抽象程度比较高, 我们能用更少的代码来实现功能,同
9999- 无需太多数学基础,仅在算法时间复杂度分析的时候会用到一些简单数学知识。对于学习基础算法,逻辑思维可能更重要一些
100100
101101## 教材
102- 这里我参考过三本书,均可以网购纸质版或者网络上搜索电子版:
102+ 这里我参考过三本书,均可以网购纸质版或者网络上搜索电子版,建议大家先大致阅读一本教材掌握基本原理 :
103103
104- [ 《算法图解》] ( https://book.douban.com/subject/26979890/ ) : 图解的形式很适合新手,示例使用的是 python。建议基础较少的同学看这本书入门
104+ [ 《算法图解》] ( https://book.douban.com/subject/26979890/ ) : 图解的形式很适合新手,示例使用的是 python。推荐基础较少的同学看这本书入门
105105
106106[ 《Data Structures and Algorithms in Python》] ( https://book.douban.com/subject/10607365/ ) : 适合对 Python
107107和算法比较熟悉的同学,或者是有其他语言编程经验的同学。本书是英文版,缺点是书中错误真的很多,代码有些无法运行而且不够 Pythonic。该书 [ 勘误] ( http://bcs.wiley.com/he-bcs/Books?action=resource&bcsId=9003&itemId=0470618299&resourceId=35653 )
@@ -114,7 +114,7 @@ Python 抽象程度比较高, 我们能用更少的代码来实现功能,同
114114绘图演示+手写板+现场编码
115115
116116我将使用绘图软件+手写板进行类似于纸笔形式的讲解,边讲边开个终端分成两个窗口,一个用 vim
117- 编写代码,另一个窗口用来运行代码,所有代码我将会现场编写(还是很有挑战的),不会像某些大学教师一样只喜欢念 ppt 。
117+ 编写代码,另一个窗口用来运行代码,所有代码我将会现场编写(还是很有挑战的)。
118118每个视频我会尽量控制时长,讲的内容尽量通俗易懂,摆脱学院派的授课方式。
119119
120120你可以参考我在知乎发的专栏文章看下:
@@ -139,7 +139,7 @@ Python 抽象程度比较高, 我们能用更少的代码来实现功能,同
139139
140140## 资料
141141
142- - 视频。包含所有讲解视频
142+ - 视频。包含所有讲解视频(网易公开课)
143143- 代码示例。所有代码我会放到 github 上。
144144- markdown 讲义,包含视频内容的提要等内容
145145- 延伸阅读。我会附上一些阅读资料方便想深入学习的同学
@@ -169,7 +169,7 @@ Python 抽象程度比较高, 我们能用更少的代码来实现功能,同
169169对于找工作的同学提升面试成功率。
170170
171171
172- ## 工具
172+ ## 开发和测试工具
173173
174174推荐使用以下工具进行开发,如果使用编辑器最好装对 应 Python 插件,笔者视频演示中使用了 vim,读者可以自己挑选自己喜欢的开发工具:
175175
@@ -179,7 +179,7 @@ Python 抽象程度比较高, 我们能用更少的代码来实现功能,同
179179- Vscode
180180- Vim/Emacs
181181
182- 代码中使用到了 pytest 测试框架和 when-changed 文件变动监控工具(方便我们修改完代码保存后自动执行测试),你需要用 pip 安装
182+ 注意视频中使用到了 pytest 测试框架和 when-changed 文件变动监控工具(方便我们修改完代码保存后自动执行测试),你需要用 pip 安装
183183
184184``` py
185185pip install pytest
@@ -191,7 +191,7 @@ pip install when-changed
191191``` sh
192192#! /usr/bin/env bash
193193
194- # pip install when-changed, 监控文件变动并且文件修改之后自动执行 pytest 单测
194+ # pip install when-changed, 监控文件变动并且文件修改之后自动执行 pytest 单测,方便我们边修改边跑测试
195195 when-changed -v -r -1 -s ./ " py.test -s $1 "
196196```
197197将以上内容放到 test.sh 文件后加上可执行权限, ` chmod +x test.sh ` ,之后就可以用
@@ -220,8 +220,8 @@ pip install when-changed
220220如果读者关于代码、视频、讲义有任何疑问,欢迎一起讨论
221221请注意以下几点:
222222
223- - 优先在网易云课堂的讨论区提问,方便别的同学浏览。如果未购买视频,也可以直接在 github 里提出 issue,笔者会有空会给大家解答 。
224- - 描述尽量具体,视频或者代码哪一部分有问题?
223+ - 优先在网易云课堂的讨论区提问,方便别的同学浏览。如果未购买视频,也可以直接在 github 里提出 issue,笔者有空会给大家解答和讨论 。
224+ - 描述尽量具体,视频或者代码哪一部分有问题?请尽量把涉及章节和代码贴出来,方便定位问题。
225225- 如果涉及到代码,提问时请保持代码的格式
226226
227227
0 commit comments