你将获得
-
20 个经典数据结构与算法;
-
100 个真实项目场景案例;
-
文科生都能懂的算法手绘图解;
-
轻松搞定 BAT 的面试通关秘籍。
课程介绍
踏上了编程之路,也就意味着你选择了一种终身学习的生活方式。每一个程序员都要练就十八般武艺,而掌握数据结构与算法就像修炼了九阳神功。换句话说,掌握了数据结构与算法,你的内功修炼速度就会有质的飞跃。
无论你是从事业务开发,想要评估代码性能和资源消耗;还是从事架构设计,想要优化设计模式;或者想要快速玩转热门技术,比如人工智能、区块链,都要先搞定数据结构与算法。因为,任凭新技术如何变化,只要掌握了这些计算机科学的核心“招式”,你就可以见招拆招,始终立于“不败之地”。
那怎样才能真正掌握数据结构与算法呢?是把常用的数据结构与算法背得滚瓜烂熟吗?即便如此,面对现实世界的千变万化,你也不太可能照搬某个算法解决即将遇到的下一个问题。因此,就像学习设计模式、架构模式一样,学习数据结构与算法的关键,在于掌握其中的思想和精髓,学会解决实际问题的方法。
专栏分为 4 个由浅入深的模块。
- 入门篇
为什么要学习数据结构与算法?数据结构与算法该怎么学?学习的重点又是什么?这一模块将为你指明数据结构与算法的学习路径;并着重介绍贯穿整个专栏学习的重要概念:时间复杂度和空间复杂度,为后面的学习打好基础。
- 基础篇
将介绍最常见、最重要的数据结构与算法。每种都从“来历”“特点”“适合解决的问题”“实际的应用场景”出发,进行详细介绍;并配有清晰易懂的手绘图解,由浅入深进行讲述;还适时总结一些实用“宝典”,教你解决真实开发问题的思路和方法。
- 高级篇
将从概念和应用的角度,深入剖析一些稍复杂的数据结构与算法,推演海量数据下的算法问题解决过程;帮你更加深入理解算法精髓,开拓视野,训练逻辑;真正带你升级算法思维,修炼深厚的编程内功。
- 实战篇
将通过实战案例串讲前面讲到的数据结构和算法;并拿一些开源项目和框架,剖析它们背后的数据结构和算法;并带你用学过的内容实现一个短网址系统;深化对概念和应用的理解,灵活使用数据结构和算法。
课程目录
![](https://static001.geekbang.org/resource/image/6d/35/6def6159141f302472ce7dbdf2f3e435.jpeg)
![](https://static001.geekbang.org/resource/image/86/73/866ef165163dbceb12903b2596741273.jpg)
![](https://static001.geekbang.org/resource/image/aa/4e/aa1005366bab254e69de8391e172394e.jpg)
![](https://static001.geekbang.org/resource/image/0a/4e/0a03a1e02f4a4bee36989b5a8183274e.jpg?x-oss-process=image/resize,m_fill,h_74,w_74)
计算机基础知识
![](https://static001.geekbang.org/resource/image/03/03/0311b5571a85261c7e0cf3e49d0d4c03.jpg)
![](https://static001.geekbang.org/resource/image/1c/14/1c74ec597d2f9a37393a7a9e52ddee14.jpg)
![](https://static001.geekbang.org/resource/image/5y/fd/5yy916cc2f38a4e85e261930c38492fd.jpg)
![](https://static001.geekbang.org/resource/image/b4/d7/b4b7a955f875577f28be137421b94ed7.jpg)
![](https://static001.geekbang.org/resource/image/ba/b8/bafebb94fdf427f3fa078c95ef748db8.jpg)
![](https://static001.geekbang.org/resource/image/e1/41/e16df1873a7dcd18a387f1ec03cdd441.jpg)