学习数据结构,都有哪些值得推荐的好书
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习数据结构,都有哪些值得推荐的好书相关的知识,希望对你有一定的参考价值。
作者:向小刚链接:https://www.zhihu.com/question/19987046/answer/13945644
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. CLRS 算法导论
算法百科全书,只做了前面十几章的习题,便感觉受益无穷。
2. Algorithms 算法概论
短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好消息:习题很经典,难度也适中,只需花点点时间自己也都能做出来。不好也不坏的消息:我正在写习题的答案,已完成前三章,还剩九章约二百道题,顺利的话二个月之后发布。另有中文版名《算法概论》,我没看过,不知道翻译得怎么样。如果有心的话,还是尽量看原版吧,其实看原版与看中文版花费时间不会相差很大,因为大部分时间其实都花费在做习题上了。
dr. dobb's essential books on Algorithm and daba structure
3. Algorithm Design 算法设计
很经典的一本书,很久之前看的,遗憾的是现在除了就记得它很经典之外其它都忘光了。
4. SICP 计算机程序的构造和解释
六星之书无需多言,虽然这不是一本讲算法的书,但看完此书有助于你更深入的理解什么是递归。我一直很强调习题,看完此书后你至少应该做完前四章的太部分习题。否则那是你的遗憾,也是作者的遗憾。
5. Concrete Mathematics 具体数学
有人说看TAOCP之前应该先弄清楚这本书的内容,要真是如此的话那我恐怕是看不到TAOCP了。零零碎碎的看了一大半,很多东西都没有时间来好好消化。如果你是刚进大学不久的本科生,有着大把的可自由支配时间,那你幸运又幸福了,花上几个月时间好好的读一下此书吧,收获绝对大于你的期望值。
6. Introduction to The Design and Analysis of Algorithms 算法设计与分析基础
很有趣的一本算法书,有许多在别的书上找不到的趣题,看完此书绝对能让你大开眼界,实在是一本居家旅行,面试装逼的必备佳作。
7. 编程之美--微软技术面试心得
虽说是一本面试书,但如果把前面十几页扯掉的话,我更愿意把它看作是一本讲解题思维的算法小品。在书中,作者通常是给出一个平常解法,然后再一次又一次的优化改进,你可以很清楚的看到基本的算法设计思想是如何得到运用以解决实际问题的。如果你已经有了一些算法的基础,看完本书应该能使你的算法应用能力得到一定的提高。另外,本书生动有趣,也同样适合于初学者。
8. Fundamentals of Algorithmics 算法基础
也是很久之前在学校图书馆借来看的,内容记不太清楚了,只隐约记得此书的动态规划章节犹为出彩。应该是很经典的一本书,个人以为足以和算法导论等所谓当世经典平分秋色,但是怎么好像被人提到的不多,或许是我孤陋寡闻了。
9. How to solve it 怎样解题
二十世纪最伟大的数学思想家之一波利亚的力作,讲一般性的解题方法:怎么认识问题,怎么转换问题,怎么解决问题,如何在问题中得到启发,如何找到一个通往答案的方向。
10. Programming interviews exposed 程序员面试攻略
一本消遣之作。个人以为要比国内的某“XXX面试宝典”纯粹一些,至少也有一些启发性的内容,而不单单是面试题解库。
11. Programming Pearls 编程珠玑
学习算法不仅需要像Alogrithms,算法导论这样的重量级的内功心法,像《编程之美》、《编程珠玑》这样的轻量级的轻功身法也必不可少。前些年网上不是很流行像“给你10亿个数,找到最大的n个”或者“给你10亿个数,找出现次数最多的那个数”之类的百度面试题吗?看了此书你就知道怎么解决了。相比于《编程之美》来说,本书中的示例技巧性略低一些,但是也更有实际应用价值一些。
12. 算法艺术与信息学竞赛
如果算法导论是九阳神功,那这本无疑就是九阴真经。本书是专为参加一些诸如ACM之类程序设计比赛的同学而写的,江湖人称“黑书”。里面讲的都是一些在编程比赛中常用的算法、数据结构,以及一些数论和计算几何等。我虽然并不搞竞赛,但也从此书中受益颇多。
13. An Introduction to Probability Theory and Its Applications
准备看的,现在才发现概率论有多么重要,可惜本科的时候没有好好学。前不久一个同学问我个问题,我半天弄了一个程序给他,他说:这里就不是相关系数么,Excel一下就完事!我晕,我还真不知道那就是相关系数。
14. Numerical Analysis
这本的作者是Richard L. Burden,J. Douglas Faires
数值分析,讨论各种数值算法,比如插值、拟合、积分、微分方程的求解、线性和非线性方程组求解等。准备详细看。
15. TAOCP 计算机程序设计艺术
传说中的TAOCP,说的人多,看的人少。TAOCP四卷堪称是算法藏经阁中的易筋经或者是少林七十二绝技。天下武学,尽出少林,天下算法,尽出TAOCP也。 参考技术A 在微信高校专业集里面粘贴
入门
1.《啊哈!算法》
2.《算法设计与分析基础》
3.《算法引论:一种创造性方法》
4.原书名:Introduction to Algorithms
中文名:算法导论
5.数据结构与算法分析:C语言描述(原书第2版)
进阶
1.原书名:The Design and Analysis of Computer Algorithms
中文名:算法设计与分析
作者:Aho,Hopcroft,Ullman
2.原书名:Algorithms Design Techniques and Analysis
中文名:算法设计技巧与分析
作者:M.H.Alsuwaiyel
3.中文名:算法与数据结构
作者:傅清祥 王晓东
程序设计竞赛
1.原书名:Introduction to Algorithms
中文名:算法导论
作者:Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein
2.原书名:Introduction to The Design & Analysis of Algorithms
中文名:算法设计与分析基础
作者:Anany Levitin
4.算法竞赛 | 信息学奥赛一本通
5.算法竞赛 | 算法竞赛进阶指南
Python 入门书籍都有哪些推荐?
0.951886
1、Python基础教程:是经典的Python入门教程书籍,本书层次鲜明,结构严谨。这本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是Python方面的技术专家,也能从书里找到实用性极强的内容。
2、Python数据分析(Python for data analysis):该书介绍了ipython 、notebook、Numpy、Scipy和Pandas包的使用等知识点,只要读者掌握了python的基本语法就可以学习,对于提升学习Python十分有效。
3、Python 3程序开发指南:讲述了构成Python语言的8个关键要素,分为不同章节对其进行了详尽的阐述,包括数据类型、控制结构与函数、模块、文件处理、调试、进程与线程、网络、数据库、正则表达式、GUI程序设计等各个方面。适合作为Python语言教科书使用。
4、Python数据分析与挖掘实战:本书的基础部分介绍的详细且全面,是一本Python入门书,在后段中的Demo也很贴近实战,并且介绍了使用Python进行数据挖掘的详细案例,数据和代码都可以下载,有极强的实用性。
5、Python Cookbook:本书介绍了Python在各个领域中的一些技巧和方法,从最基本的字符、文件序列、字典和排序,到进阶的面向对象编程、数据库和数据持久化、 XML处理和Web编程,再到高级和抽象的描述符、装饰器、元类、迭代器和生成器,均有涉及。
参考资料来源:百度百科-Python基础教程
参考资料来源:百度百科-Python数据分析
参考资料来源:百度百科-Python 3程序开发指南
参考资料来源:百度百科-Python数据分析与挖掘实战
参考资料来源:百度百科-Python Cookbook
参考技术A python的书很多 , 但是好书不多, 经过我这么多年的python学习,我总结出了一个python学习的读书路线:python简明教程: 让你大体上了解一下python, 最好是能够独立完成最后一个练习项目之后再看别 的书;
python学习手册, python基础教程,python核心编程, 这三本书都是讲基础的, 但是都有不足又相互补充 , 我建议你随便挑一本开始看, 当看到某个地方有些不明白的时候, 去看看另外两本书里对应的章节, 有的时候你会恍然大悟的;
下面就看你的想法了, 如果想去学web开发, 其实这时候就可以去学django了, 可以去看在线版的the django book; 如果觉得自己基础还不足的话, 可以看看python cookbook, python标准库实例, 还有python网络编程都挺好的, 如果想做gui开发的话也有很多方向, 推荐pyqt
看完这些书, 你的知识储备绝对没有问题了, 下来就看你自己的想法了, python是一个强大而简洁的语言, 只有想不到, 没有做不到~~~ 参考技术B 1.《Python编程:从入门到实践》
这本书算是比较全面系统的入门Python教程。基本的概念解释得算是比较不错的,我们知道,对于零基础学习编程的人来说,基础的概念是最关键也是最重要的一部分,谁能把基本的概念讲得通俗易懂,那么谁也就自然受欢迎了。
2.《像计算机科学家一样思考Python》
本书更多的是想培养读者以计算机科学家一样的思维方式来理解Python语言编程。贯穿全书的主体是如何思考、设计、开发的方法。从基本的编程概念开始,一步步引导读者了解Python语言,再逐渐掌握函数、递归、数据结构和面向对象设计等高阶概念。
3.《Python编程:从入门到实践》
2016年出版的书,基于 Python3.5 同时也兼顾 Python2.7 ,书中涵盖的内容是比较精简的,没有艰深晦涩的概念,每个小结都附带练习题,它可以帮助你更快的上手编写程序,解决实际编程问题,上到有编程基础的程序员,下到10岁少年,想入门Python并达到可以开发实际项目的水平,这本书都是个不错的选择。
4.《Python核心编程第三版(中文版)》
该书向读者介绍了这种语言的核心内容,并展示了Python语言可以完成哪些任务。其主要内容包括:语法和编程风格、Python语言的对象、Web程序设计、执行环境等。该书条理清晰、通俗易懂,是学习Python语言的最好教材及参考手册。所附光盘包括Python语言最新的三个版本及书中示例代码。
5.《Python算法教程》
Python算法教程用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的结尾,给出了练习题的提示,方便读者进行查漏补缺。 参考技术C
入门:
《深入浅出 Python 》
《Python 编程从入门到实践》
参考技术D 我整理了几本经典Python入门书籍,希望对你有帮助!链接:https://pan.baidu.com/s/1H1gIMnB-O_NnzZKrAhAexw 提取码:gq14
以上是关于学习数据结构,都有哪些值得推荐的好书的主要内容,如果未能解决你的问题,请参考以下文章