本书共分为12个章节,首先介绍了一些基础的数据结构,以及常用的排序算法和查找算法;其次介绍了两个稍微复杂一些的数据结构——树和图,还介绍了每种数据结构和算法的适用场景,之后是一些在工作与面试中的实际应用,以字符串、数组、查找等为例介绍了一些常见的互联网面试题及分析思路,便于读者了解这些思路,顺利地通过互联网公司的面试;最后介绍了一些常见的算法思想,便于读者对今后遇到的算法问题更轻易地想出解决方案。
本书的讲解轻松有趣,易于读者把烦琐、枯燥的算法学习变为有趣、愉快的学习,把被动学习变为主动学习。本书也介绍了一些会在工作面试中用到的算法。对于一些正在学习算法的人来说,本书绝对是可以帮你轻松掌握算法的辅助资料;对于已经了解算法的人来说,可以从本书中了解到这些算法是如何在实际工作中使用的。
本书适合即将毕业的学生、初入职场的工程师及想补充基础算法知识的人学习,也适合作为一本互联网公司面试的参考书,更是一本不可多得的便于读者时常补习算法知识的收藏宝典。
★ 语言轻松易懂,不照本宣科
★ 不仅有原理,还有适用场景
★ 更有互联网应用案例与经验
★ 不论面试还是工作都能让你抓到重点
★ 适合不想钻研晦涩算法书籍的读者
★ 关注算法的具体实践应用
★ 理解和应用算法才是成功的关键
前言
互联网越来越热门了,相信每个人都或多或少地在体验如今的互联网带给我们的各种便利。借助之前非常火热的电商,我们可以足不出户地购买衣服和日常用品;现在,就算是一个超级宅的人,也可以不出门便可完成订餐、在线交水电费、通过各种到家服务进行保洁和按摩、通过应用将在超市买的东西轻松配送到家,等等。在线办公在一些行业中也开始流行,视频会议更是可以轻松地实现异地交流。之前我们还需要见面签约,现在越来越多地在进行在线签约。
不得不感谢互联网带给我们的各种便利,但这背后是由很多产品、运营和技术人员的努力在支撑的。
我最初所在的公司属于传统行业,但也是一家服务与互联网公司。相信任何行业的技术员工都想进入互联网公司,这其中的好处有太多:技术的挑战、大用户量、大数据、高并发,这些都是我们所渴望的。
经常听到身边有很多人在抱怨算法不好学、学会了记不住、记住了不知道怎么用等,所以我决定写本书,结合自己的经验讲解一些算法的实际应用及适用场景,希望通过本书帮助更多的朋友进入互联网公司。
其实很多人怯场时无非担心的是自己的算法太差、技术太烂、别人会瞧不起,等等。本书可以帮助读者解决一些基础、常见的算法问题,当然,在技术上仍需自己努力,若再有一点运气,则一定可以找到理想的公司。不要害怕,很多时候就算没有面试成功,也应该总结一下,等过段时间后便能感悟到自己的成长。
算法有很多,而且不停地有新的算法出现。本书将介绍其中一些比较基础且常用的算法,当然,会先简单介绍几个基础的数据结构作为学习算法的铺垫;之后会介绍一些在工作中可能用到的算法;最后会介绍一些新兴的算法,以拓展读者的思路。
我会尽量以轻松、愉快的方式介绍每一个算法,由浅入深地介绍如何在工作中使这些算法变成我们的代码,让我们在开发应用时更高效。