编辑推荐
在你还没有拿得出手的实战项目证明自己能力时,面试官只能拿算法题评估你。力扣算法题因被BAT、*、美团、字节跳动、滴滴、拼dd、微软、亚马逊、Google、Facebook等一线科技公司选作面试题而名声大噪,不论你是想拿下大厂Offer,还是想在技术道路上走得更远,刷算法题,尤其是刷力扣算法题,无疑是一个高效率的选择。
简单地会解某一道算法题并不意味着什么,因为很少有人能刷完力扣的上千道题,算法小抄把算法题分门别类汇总,提炼出各类题的解题框架,从而以不变应万变。
《漫画算法》作者@程序员小灰、@stormzhang等KOL力荐。
用喜闻乐见的语言讲述算法,书中配有几百幅有趣的算法图示,并送上部分动画演示。
内容简介
本书专攻算法刷题,训练算法思维,应对算法笔试。注重用套路和框架思维解决问题,以不变应万变。第1章列举几个*常见的算法类型以及对应的解题框架思路,包括动态规划、回溯、广度优先搜索及双指针、滑动窗口等算法技巧。第2章用动态规划的通用思路框架解决十几道经典的动态规划问题,例如,正则表达式、背包问题,同时还介绍了如何写状态转移方程,如何进行状态压缩等技巧。第3章介绍了数据结构相关的算法,例如,二叉树相关的题目解法,也包括LRU、LFU这种面试常考的算法原理。第4章介绍回溯算法、广度优先算法等核心套路在算法题中的运用,巩固对算法框架的理解。第5章讲解了一些高频题目,每道题目可能会结合多种算法思路,也可能有多种解法,读完这一章,你就可以独自遨游题海啦。
前 言
前言
数据结构和算法在计算机知识体系中有着举足轻重的作用,这块知识也有非常经典的教材供我们学习。但是,我们刷的算法题往往会在经典的算法思想之上套层“皮”,所以很容易让人产生一种感觉:数据结构和算法我以前学得挺好的,为啥这些算法题我完全没思路呢?
面对这种疑惑,有人可能会摆出好几本与算法相关的大部头,建议你去进修。
有些书确实很经典,但我觉得咱应该搞清楚自己的目的是什么。如果你是学生,对算法有浓厚的兴趣,甚至说以后准备搞这方面的研究,那我觉得你可以去啃一啃大部头;但事实是,大部分人(包括我)学习算法是为了应对考试,这种情况下去啃大部头显然就得不偿失了,更高效的方法是直接刷题。
但是,刷题也是有技巧的,刷题平台上动辄几千道题,难道你要全刷完吗?效的刷题方式是边刷边归纳总结,抽象出每种题型的套路框架,以不变应万变。
我个人还是挺喜欢刷题的,经过长时间的积累、总结,沉淀出了这本书,希望能给你带来思路上的启发和指导。