python算法编程书籍推荐_推荐一本编程算法书籍,你推荐哪本?

市面上有用的算法书籍很多,主要掌握一个原则:根据你目前的能力水平、知识点掌握情况来选择。

可以怎么入门呢?建议还是看书+实战,实战当然也不是说要去肝ACM或者是topcoder什么的,基本上来我们LintCode刷刷题也就够了。

如何学习算法?

算法,其实可以分为三种。算法、面试算法、竞赛算法。

算法

也就是算法本身,推荐一些书籍。

1.入门系列

《算法图解》:“像小说一样有趣的算法入门书”,主打“图解”,通俗易懂

《大话数据结构》:把理论讲得有趣不枯燥;每个数据结构和算法,作者都结合了生活中的例子,能让你有非常直观的感受。

2.教科书系列

《数据结构与算法分析》:很多大学都拿它当作教材,非常系统、全面、严谨,适合掌握了至少一门编程语言的同学。

作者也很贴心,这本书有三种语言的版本:《数据结构与算法分析 : C 语言描述》《数据结构与算法分析 : C++ 描述》《数据结构与算法分析 : Java 语言描述》。

3.进阶之旅

《算法导论》:有了一定基础之后,就可以开始啃这本大部头了。

4.扩展阅读

《算法之美》:算法科普,从生活中的各种问题说起:租房、谈恋爱、老虎机、拍电影、面试、买彩票、各种排序、找停车位、寻找新药、临床试验、奥巴马拉赞助、预估电影票房等等,非常生活化,可以作为补充阅读。

《算法帝国》:同样是科普类书籍,并无涉及算法的原理与实现细节,也可以作为补充阅读。

5.殿堂级

《计算机程序设计艺术》:包含很多卷,深度、广度、系统性、全面性是其他所有数据结构和算法书籍都所无法相比。可以当做一种挑战~图片来自极客时间《数据结构与算法之美》

面试算法

要说最快掌握面试算法的捷径,还是脚踏实地着多动手去刷题,多刷题。

当然,在LintCode开始刷题,首先你也也得具备一定的基础,这些基础包括:

对算法题来说有两大法宝,“拿到题选什么算法”和“如何实现这个算法”,后者会更容易一些,所以可以先从实现算法开始练起(LintCode的分类阶梯训练)。

然后当一些标准算法数据结构都不陌生后,再去训练新题,尝试用各种算法解决各种不同的问题。

当然,针对面试准备,也有一些书:

《剑指 Offer》:几乎包含所有常见的、经典的面试题,是应对面试的必读书籍

《编程之美》:适合准备面试FLAG大厂时候用来刷题

ps:这两本书都可以配合在LintCode上刷题

竞赛算法

算法学习最好由浅入深,先了解算法思维,再去理解实际应用;

当逐步全面的掌握相关知识体系,有一定实践经验后,可以去参加一些竞赛提升自己的算法能力。

竞赛算法是比较锻炼人的,对于竞赛来说,每道题对输入参数和样本量的要求都非常明确,包括对空间的限制和运行时间的限制也规定的非常明确。每一个竞赛选手都非常熟练怎么根据这些提前给好的限制,反推出自己需要实现一个什么样复杂度的解法才能通过。所以对思维和逻辑上的锻炼是非常有效的。

献上一些面试常考算法类型和经典题,愉快地刷起来吧~

双指针算法

排序算法

二分法

宽度优先搜索

递归

遍历

分治法

深度优先搜索

动态规划

当然,也可以来免费试听我主讲的

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值