来源 | 异步 | 文末赠书
2017年8月,本着让更多的人轻松学习算法的初心,我写作了第一本书《趣学算法》,该书在出版后受到广大读者一致好评,在一年内重印了10次,并输出了繁体版的版权。
一位读者对我说,读这本书读到“停不下来”,我又何尝不是呢?写书写到“停不下来”,这是作者和读者的巨大共鸣!在交流学习算法的同时,越来越多的学生反映数据结构晦涩难懂,问我能不能写一本《趣学数据结构》。说实在的,写书是一项极其繁重的工作,每一句话,每一个图,都需要精心琢磨。正在我犹豫不决之际,一件事情坚定了我写作本书的信心。
01
招聘趣事
如果你关注计算机专业招聘试题,会发现越是大型公司,问的问题越基础,有的甚至问你什么是栈和队列,反而一些小公司会关心你做过什么系统。从关注点的不同可以看出,大公司更注重基础扎实和发展潜力,而小公司希望你立刻能够为其干活。可以这样比喻:小公司喜欢细而长的竹子,大公司更喜欢碗口粗的竹笋。
我曾经推荐一个学生到某知名公司,没多久,学生向我说了应聘的事情:“我介绍我开发了企业管理系统、在线商城系统等,没想到他问我使用了什么数据结构和算法,我懂很多技术,那么多功能我都实现了,他不问,却问我使用了什么数据结构和算法,你说搞笑不?数据结构和算法我早就忘了,我会开发软件还不行吗?”人力资源总监也反馈过来意见:“很搞笑,这个学生做了不少系统,却说根本没用到数据结构和算法。”
既然双方都觉得这是一件搞笑的事情,那么我们就摊开来看,数据结构到底是什么。
02
拨云见日,看清数据结构
当我们遇到一个实际问题时,首先需要解决两件事:
(1)如何将数据存储在计算机中;
(2)用什么方法和策略解决问题。
前者是数据结构,后者是算法。