生活知识百科

有什么计算机经典书籍推荐?

2025-01-17 12:59:55 条浏览

关于面相对象的书推荐2本:JAVA与模式和道法自然。不过……前一本太厚(1024页),后一本(早就)绝版[捂脸][捂脸][捂脸]




看计算机类的书籍要带着目的去看,比如计算机操作系统中的内存进程和管理,你就可以实现一个类似于性能监视器的工具,带有目的和实践的学习会让知识真正成为自己的一部分




看学那一方面,软件,硬件,大类底下小类别,比如广告设计,软件开发,游戏开发,电脑硬件维修等。




CPrimerPlus,C++Primer4th-&;5th

数据结构与算法分析byWeiss

SICP(计算机程序的解释和构造),CSAPP(深入理解计算机系统),CLRS(算法导论




快速软件开发

代码大全

computer,perspectivefromprogrammer




架构之美

Java核心技术卷1:基础知识

Java核心技术卷2:高级特性

人月神话




朋友,你渴望力量么。机械工业引进的黑皮书系列,你值得收藏。这些板砖书无论是用来垫显示器还是桌子腿,都是非常好的选择。

当然啃下来比较吃力。评论区有些杠说这些不适合初学者,题目问题的是计算机经典书籍,这些书很多都是评价颇高的名校本科和研究生教材,笔者并没有答非所问。

多看看老外写的书跟上人家的教育水平还是很好的,国内很多计算机教材相比老外的书差距不是一点半点。国内有些高校应该也用到了美帝大学的一些教材。国内很多用谭浩强的入门教材学习C,说真的,他的书错误百出,代码风格非常不好,一看就是没做过工程的,你应付一下考试还行。相比之下《Cprimerplus》《K&R》c/unix之父合著的c语言书是比较经典的。

老外的书有时候很厚,看着吓人,但其实很多还是比较深入浅出的,算法导论之类的网上有免费公开课,就是算导的作者讲的,可以看看。如果有畏难心理,可以坚持每天或者每周看一本书的几小节或者一个章节,慢慢啃啃长期坚持下来也是能消化不少的。

(列举了这么多,俺没有一本能认真读完的)。以下是笔者分类整理的计算机科学/工程领域的经典书籍(可以参考豆瓣评分),你可以针对自己想要从事的方向来挑选一些经典书籍看看。

C语言:

C程序设计语言(原书第2版·新版典藏版)

CPrimerPlus第6版中文版

c++:

C++Primer(中文版第5版)

C++程序设计语言特别版十周年中文纪念版

Java:

Java四大名著四册套java编程思想

Python:

流畅的Python[巴西]卢西亚诺·拉马略(LucianoRa*lho)

Go:

Go程序设计语言

算法与数据结构:

算法导论(原书第3版)华章图书计算机科学丛书

算法(第4版)

数据库(Mysql):

数据库系统概念(原书第6版)

高性能MySQL

编译原理:

计算机科学丛书:计算机程序的构造和解释

计算机科学丛书:编译原理(第2版)

计算机组成原理/体系结构:

深入理解计算机系统(原书第3版)

计算机体系结构精髓(原书第2版)

操作系统:

现代操作系统(原书第4版)

计算机网络:

计算机网络:自顶向下方法(原书第7版)

TCP/IP详解卷1:协议(原书第2版)

UNIX网络编程:第3版

分布式系统:

分布式系统:概念与设计(原书第5版)

数据密集型应用系统设计

软件工程/设计模式:

代码大全(第2版)

设计模式:可复用面向对象软件的基础(典藏版)

实际上前边列举的书籍很多是世界名校的本科/研究生教材或者工程领域的经典书籍。但是可能因为不同的人基础不同,学习实践方法不同,学习难度和收获也不一样。比如你想看c语言之父合著的《C程序设计语言》,里边有一些涉及到命令行操作,可能就需要你有一定的unix/linux操作系统的基础知识(比如命令行工具gcc等的基本使用)等。




越是底层的越是经典




计算机包含很多方面,你是做运维,做开发,要学的都不一样。因为我大部分接触的是开发工程师,我可以给你的是编程语言方面的书籍建议。

Java

《Java基础入门》荣获了“第四届中国大学出版社图书优秀畅销书”二等奖。

为Java基础入门教材,让初学者能达到熟悉Java语言并灵活运用的程度。

针对每一个所讲解的知识点都进行了深入地分析,并使用生动形象的情境化举例,将原本复杂的、难于理解的知识点和问题进行简化,真正遵循了由浅入深、由易到难的学习过程。

另外,针对每个知识点,本书都精心设计了相应的经典案例,目的是为了让学习者不但能掌握和理解这些知识点,并且还可以清楚地知道在实际工作中如何去运用。

前端开发

1.headfirsthtml与css(第2版)

《HeadFirstHTML与CSS(第2版)》,来真正学习HTML。

优点:

1)理论体系或者说方法论比较到位,这就比一般的参考书更有价值;

2)叙事方法值得学习

3)比较深入浅出,图多字少,题目类型多样,适合初学者

2.css实战手册

本书从介绍最基本的CSS知识开始,到建立用于打印网页的CSS和改进你的CSS习惯的最佳实践。

优点:

1)每章内容从简单到复杂,一步一步地建立起一个完整的教程示例

2)每章都会详细讨论一些技巧、最佳实践和各浏览器之间一致性的兼容问题及如何进行修复

3)各章节的最后都给出了相应教程的详细操作步骤

4)提供了完整的CSS属性参考、DreamweaverCS4中的CSS及书中提到的相关CSS资源列表

本书适合于刚刚接触CSS的朋友们阅读并亲自动手实践,具有HTML、XHTML和CSS基本知识但想创建更加完美的网页的设计人员,以及须要创建在各种不同的浏览器之间兼容并都能够达到同样展现效果的CSS专家们作为参考。

3.javascript权威指南

《JavaScript权威指南(第5版)》全面介绍了JavaScript语言的核心,以及Web浏览器中实现的遗留和标准的DOM

优点:

1)全而深入精致,定位为工具大全

2)大部分的内容都配的有示例

3)可作为手册、查询和学习

4.css权威指南

为你展示如何遵循CSS最新规范(CSS2和CSS2.1)将层叠样式表的方方面面应用于实践。

优点:

1)及其理解的语言系统全面地讲解了CSS规范

2)理论性质的,前端开发人员迈入人生巅峰的必读书籍,不太适合初学者,中级建议必须看的一本书

5.javascript高级程序设计

本书是JavaScript超级畅销书的最新版。

优点:

1)深入浅出地探讨了面向对象编程、Ajax与Comet服务器端通信HTML5表单、媒体、Canvas(包括WebGL)及WebWorkers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,2)离线应用和与维护、性能、部署相关的最佳开发实践

3)展望了未来的API和ECMAScriptHarmony规范。

6.javascript语言精粹

向读者介绍如何运用JavaScript创建真正可扩展的和高效的代码。

优点:

1)对于了解程度低一点的人来说,它可以帮助你学习JavaScript的编程思想

2)对于对JavaScript已经有较深理解的人来说,它可以帮助你整理总结并加深对JavaScript的理解

3)它用精炼的文字、形象的语法图(railroaddiagram)和简短的代码片断总结了JavaScript的核心内容

7.网页设计与制作(HTML+CSS)

HTML与CSS是网页制作技术的核心和基础,也是每个网页制作者必须要掌握的基本知识,两者在网页设计中不可或缺。本书从初学者的角度,以形象的比喻、实用的案例、通俗易懂的语言详细介绍了使用HTML与CSS进行网页设计与制作的各方面内容和技巧。




计算机基础类的,可以看下《计算机是怎样跑起来的》《程序是怎样跑起来的》通俗易懂,图解,适合每天拿来看

算法类的,可以看《编程珠玑》,本身就是杂志专栏文章结集,每章篇幅适中。当然其实这本书是很有深度的,看到哪篇文章对自己有用,未来再回来深钻吧。这本书的续篇稍弱,但也值得读:编程珠玑II。

建议题主花较为完整的时间系统学习:

JavsScript高级程序设计

JavaScript设计模式与开发实践

还需要补一下计算机类基础知识,可以参考以下书籍:

算法导论

数据结构(严蔚敏)

操作系统概念-&;Linux内核完全剖析




带图灵的都还不错。不过,论影响最大的,还是人月神话,代码大全。




推荐几本我认为值得程序员精读的书:

算法导论

本书是MIT的本科必修课的教材。不仅讲诉算法过程,重点讲解算法设计方法,算法分析方法。我开了一个专栏,以这本书为指导分享算法设计。

编程珠玑

本书是一本讲解如何分析问题的书。读了这本书有利于培养简单直接的分析问题,快速抓住w问题本质,设计直接的解决方案的思维。

计算机程序的构造和解释

本书讲了如何设计程序语言。可以帮助理解程序语言本身的设计逻辑。理解编程的本质。

这几本书我都收藏在我的橱窗里了。




想要了解计算机类的丛书,最好的选择便是机械工业出版社引进的“黑皮书”系列,涵盖了入门到进阶的大量内容,强烈推荐。

接下来我们具体介绍一下,黑皮书中最受欢迎的几本。

C程序设计语言

俗话说的好,不学C语言就不算一个合格的IT工程师,C在编程界的地位可谓是老大哥,现在爆火的java和python都是在C的基础上衍生出来的。这本书的作者就是C语言之父——DennisM.Ritchie和著名计算机专家BrianW.Kernighan,共同编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容,是乃学习C的不二之选。

TCP/IP详解(共三卷)

学好网络,对于网络工程师、软件工程师都是非常重要的。《TCP/IP详解》一共有三卷,如果是初学者的话,建议先花大量的时间和精力在卷一上,彻底搞清楚TCP/IP是怎么样的一个协议,设计思路这些东西。卷二、卷三更多的是强调编程中的细节。这对于网络工程师、软件工程师同样适用。对于嵌入式工程师,这其实也很适用,TCP/IP协议簇从提出到现在,过去了那么多年,还是一直被使用着,这足以见到其强大之处。

现代操作系统

这本书相当经典,涉及WindowsVista以及最新的Linux/Unix操作系统。作者是AndrewS.Tenenbeum,拥有美国麻省理工学院的理学学士学位和加州大学伯克利分校的哲学博士学位。该书深入讨论了许多主题,包括:进程,线程,存储管理,文件系统,I/O死锁,接口设计,多媒体,性能权衡。以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统,WindowsVista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。

这三本书已经够各位题主啃一段时间的了,加油吧,一入计科深似海,从此头发是路人。




计算机领域知识众多,书籍浩瀚如烟。经典的书籍不仅能为我们带来新的知识,还能为我们提供宝贵的思想。下面我们来看一看有哪些经典书籍值得阅读。

《计算机科学导论》

《计算机科学导论》作者为BehrouzForouzan,由机械工业出版社出版,是大学计算机相关专业的基础课教材,涉及计算机科学的各个方面。该书着重讲解基本概念而不是数学模型和技术细节,通过大量的图表和演示范例讲解计算机科学的基础知识;每章后面的关键术语、小结和练习有助于读者掌握和复习知识要点。该书内容丰富,通熟易懂,既适合当作大专院校的计算机基础课教材,也可作为一般的计算机基础入门读物。

《C++Primer》

《C++Primer》,这本由StanleyB.Lippman等编写,电子工业出版社出版的久负盛名的C++经典教程,令全球无数程序员从中受益,甚至为之迷醉的。这本书在C++领域的权威地位更加不可动摇。无论是初学者入门,或是中、高级程序员提升,本书均为不容置疑的首选。

《算法导论》

《算法导论》这本由ThomasH.Cormen等编写,机械工业出版社出版的书籍久负盛名。书籍将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。

全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,该书也是一本案头必备的参考书或工程实践手册。

《代码大全》

《代码大全》由SteveMcConnell撰写,电子工业出版社出版。它是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。这本书中所论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论是什么背景的读者,阅读这本书都有助于在更短的时间内、更容易地写出更好的程序。

《设计模式》

《设计模式》是由ErichGamma等编撰,机械工业出版社出版的书籍,副标题为《可复用面向对象软件的基础》。该书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。此书适合大学计算机专业的学生、研究生及相关人员参考。

总结

计算机领域的经典书籍数不胜数,在学习过程中需要多加阅读,深入理解,反复钻研,才能真正把书籍转化为自身的知识和能力。




由于计算机科学是一个庞大的学科体系,在学习的过程中要对这个体系的知识都有一定的了解,下面按照分类和体系进行说明,以及推荐一些书籍清单。

底层

数学,算法和数据结构作为计算机科学的底层学科对于深入了解计算机运作模式等是必不可少的,这里推荐:

深入理解计算机系统(CSAPP)

从名称上来看这本书讲的是对系统的深入挖掘,然而本书非常适合作为一个入门读物,在了解计算机前开始阅读,可以对计算机相关概念有一个简要的了解。

豆瓣评分:9.5

算法导论

MIT的经典算法教材,虽然可能其中的伪代码表示法不适合所有的人轻松阅读,但是对于算法描述的地位依然非常靠前。

具体数学

本书介绍了计算机的数学基础,内容涉及求和、取整函数、数论、二项式系数、特殊数、母函数(发生函数)、离散概率、渐近等,面向从事计算机科学、计算数学、计算技术诸方面工作的人员,以及高等院校相关专业的师生。

这三本书分别由人民邮电出版社,和机械工业出版社引进(也是所谓黑皮系列书籍),建议的阅读这三本书分别由人民邮电出版社,和机械工业出版社引进(也是所谓黑皮系列书籍),建议的阅读科,一般看完之后也能对目前正在运作的计算机有一个更好的理解。

编程语言

C++作为一个编程语言的主力军,目前依然建议大家学习。除了大家都推荐的C++Primer以外,由于C++的版本一直在迭代,所以这里推荐一些没有那么主流的书,如下:

C++编程规范

两位知名的C++专家将全球C++界20年的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。书中对每一条规范都给出了精确的描述,并辅以实例说明。

豆瓣评分:8.2

超越C++标准库

Boost库是除了标准库之外,很实用的一个库,这本书作为Boost的入门书已经超越了导读功能。

豆瓣评分:7.5

EffectiveModernC++

C++11虽然填上了一些C++98的坑,但又引入了不少新坑。很多新特性并不像它们表面上看起来那样简单。不过Meyers确实功力深厚,每个特性的前因后果都讲得一清二楚,给出的使用建议也很贴合实际。

Python相关,这里需要注意的是,现在的主流标准已经是Python3,应该尽量避免看Python2的书:

豆瓣评分:9.6

PythonCookbook

这是一本入门书,《PythonCookbook(第3版)中文版》介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用脚本和系统管理,测试、调试以及异常,C语言扩展等。

豆瓣评分:8.6

编程范式

除了对于常见编程语言的掌握以及一些实际的项目经验外,对于编程范式的理解也可以使你的能力提升一个档次,这里推荐:

HeadFirst设计模式

这本书每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。前言先介绍这前言先介绍这本书的用法;第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、AbstractFactory、FactoryMethod、Singleton,Command、Adapter、Facade、TplateMethod、Iterator、Composite、State、Proxy.

豆瓣评分:9.2

七周七语言——理解多种编程范型

书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。

工程向开发

不仅仅是软件工程,而是在面向工程的开发,即一个成熟的大型软件是如何组织,编写的,这里推荐:

敏捷软件开发

这本书深入而生动地使用真实案例讲解了面向对象设计的基本原则、重要的设计模式、UML和敏捷方法。

豆瓣评分:9.1

重构——改善既有代码的设计

这本书解释了重构的原理(principles)和最佳实践方式(bestpractices),并指出在何时何地你应该开始挖掘你的代码以求改善。

豆瓣评分:9.1




我就从一个算法初学者的角度来回答一下吧。

推荐一下「算法与数据结构」从入门到进阶的书单。

一.入门系列

这些书籍通过图片、打比方等通俗易懂的方法来讲述,让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等,不要求会实现,但是看过以下这些书对于之后实现算法打下坚实的思维基础。

很适合在闲暇之余拿出来阅读一番。

1.1《啊哈!算法》

阅读链接:subject/25894685/

这不过是一本有趣的算法书而已。和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。

推荐理由:本书中涉及到的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及到的算法有排序、枚举、深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、割点与割边算法、二分图的最大匹配算法等

1.2《算法图解》

阅读链接:subject/26979890/

推荐理由:这本图解书很容易看懂,不枯燥。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。

1.3《妙趣横生的算法(C语言实现第2版)》

阅读链接:subject/4710825/

推荐理由:理论与实践相结合,旨在帮助读者理解算法,并提高C语言编程能力,培养读者的编程兴趣,并巩固已有的C语言知识。

1.4《趣学算法》

阅读链接:subject/27109832/

推荐理由:非常好的一本书,图解多,思路清晰,不仅讲了问题分析算法设计的过程,还讲了如何优化算法,使读者体验算法的奥妙

1.5《大话数据结构》

阅读链接:subject/6424904/

推荐理由:文中附有大量插图,适合对大段文字提不起兴趣的朋友。以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。

1.6《学习算法思想修炼编程内功》

慕课网链接:class/71.html

推荐理由:视频课程,这样精致的课程很难找到第二个,我暂时还没看过比这个课程能更好的进行算法入门了,小吴的PPT制作动画灵感就是来源于此。

二.基础系列

通过基本入门算法书的调教,你已经逐渐体会到了算法的魅力,现在正是时候去阅读基础系列踏入算法的领域!!!

这些书籍需要你费点心思去阅读。

2.1《算法导论中文版》

阅读链接:subject/20432061/

排在基础系列第一的位置应该没意见吧:)

推荐理由:本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。

2.2《数据结构与算法Java版》

阅读链接:subject/21519616/

适合想通过Java语言来学习算法的小伙伴们。

推荐理由:本书把算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。

2.3《数据结构与算法:Python语言描述》

阅读链接:subject/26702568/

适合想通过Python语言来学习算法的小伙伴们。

推荐理由:本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用。

2.4《学习JavaScrit数据结构与算法(第2版)》

阅读链接:subject/26639401/

适合想通过JavaScrit语言来学习算法的小伙伴们。

推荐理由:本书首先介绍了JavaScript语言的基础知识,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、顺序搜索、二分搜索,还介绍了动态规划和贪心算法等常用的高级算法及相关知识。

2.5《数据结构与算法分析:C语言描述(原书第2版)》

阅读链接:subject/1139426/

适合想通过C语言来学习算法的小伙伴们。

推荐理由:在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。

2.6《数据结构与算法分析:C++描述(第3版)》

阅读链接:subject/1971825/

适合想通过C++语言来学习算法的小伙伴们。

推荐理由:这是是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。

三.进阶系列

掌握了一定的数据结构与算法的知识,现在你已经是一名合格的程序员了。但如果你想要参加面试,那就需要阅读以下书籍进行准备了。

这些书籍需要你花费时间和精力去仔细阅读,但为了涨薪,值得!

3.1《剑指Offer:名企面试官精讲典型编程题(第2版)》

阅读链接:subject/27008702/

我想,只要是程序员应该都听说过这本书吧,哪怕你没看过。

推荐理由:《剑指Offer:名企面试官精讲典型编程题(第2版)》剖析了80个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。

3.2《算法谜题》

阅读链接:subject/25805152/

推荐理由:算法是计算机科学领域最重要的基石之一。算法谜题,就是能够直接或间接地采用算法来加以解决的谜题。求解算法谜题是培养和锻炼算法思维能力一种最有效和最有乐趣的途径。

3.3《编程之法面试和算法心得》

阅读链接:subject/26641732/

推荐理由:本书涉及面试、算法、机器学习三个主题。书中的每道编程题目都给出了多种思路、多种解法,不断优化、逐层递进。

四.工作系列

适合已经工作的程序员阅读,可以提升你的思维广度,也可以在面试前翻一翻。

4.1《编程珠玑(第2版•修订版)》

阅读链接:subject/26302533/

历史上最伟大的计算机科学著作之一!!!

推荐理由:融深邃思想、实战技术与趣味轶事于一炉的奇书,带你真正领略计算机科学之美。

4.2《程序员实用算法》

阅读链接:subject/3923731/

推荐理由:《程序员实用算法》重点关注的是实用、立即可用的代码,并且广泛讨论了可移植性和特定于实现的细节。《程序员实用算法》作者介绍了一些有用但很少被讨论的算法,它们可用于语音查找、日期、B树和索引文件、数据压缩、任意精度的算术、校验和与数据验证,并且还最全面地介绍了查找例程、排序算法和数据结构。

4.3《编程之美》

阅读链接:subject/3004255/

推荐理由:这本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。

五.大佬系列

适合大佬们踏入的领域,小吴膜拜中。

5.1《数据挖掘原理与算法》

阅读链接:subject/2341863/

推荐理由:内容覆盖面最广,除了所有书都有的内容外,还包括FOIL算法和空间数据挖掘等。

5.2《集体智慧编程》

阅读链接:subject/3288908/

推荐理由:非常实用的宝典,看了这本书,如果有工具,可以解决大部分问题。

End

当你计划开始学习一门课程、阅读一本经典教材时,请先明确你要期望达到的目标。具体来说,就是问自己一个问题:

我期望从这本书中收获哪些东西?

不同的课程、不同的书籍,期望的目标应该是不一样的,并且是越具体越好。

比如看上面的入门系列,可以抱着娱乐的心态在业余时间看看。而看基础系列,就要规划好一段时间,边看边做笔记。

推荐一个金老师的学习方法给小伙伴们:多遍扫描法。

第一遍是略读,把一本书从头翻到尾,快速地阅读,不深钻细节,只看背景、结论和实际应用,即使遇到看不懂的地方也不要停下来,继续看下去,这一遍的目的是让你对这本书有一个总体上的印象。基于这个印象,你就能确定全书哪里难,哪里易,哪里是重点,这样就能制定下一步的攻读策略。

第二遍则是“细读”与“攻读”,选择你感兴趣的,感觉最重要的内容慢慢地读,可以采用一些行之有效的阅读手段(比如记要点然后尝试回顾、绘制思维导图等)吸收书中的知识。对于难点,关键是弄明白为什么你看不懂(数学公式看不懂?关键术语不明白?翻译有问题?),你就能对症下药了,比如本书写得太抽象,可以先看看比较浅显的科普类书籍,之后再回过头来再看,或者找几本不同作者写的类似的教材对照着看……

上述过程可能需要重复几次。并且可能前后两次之间会间隔一个较长的时间。

人学习特定领域的知识需要一个过程,并且需要反复的。

所以要耐心,学习是很少有可能毕其功于一役的。

简单推荐了一些我比较喜欢的书籍,如果都能看完看懂且科学的总结外加合理的实践,相信未来你的技术路会更好走,当然BATJ这些的Offer也不在话下。

除了多看点技术书,你觉得还有什么能拿出来和985,211的朋友比呢?

与君共勉:)

私信我书单送你算法编程书籍




计算机类书籍有很多,关于编程的应该占了绝大部分。但是真正的了解计算机不止只会一些编程就可以的,需要了解一些基础知识,有了这些知识的加持,你才能更好的提升自己。所以很多编程的高手经常看恰恰是这类基础知识。

计算机是利用信息获取、表示、存储、处理、控制等的理论、原则、方法和技术来用于实践中的学科。

基础方面:首先推荐一本算法导论。

比较适合有编程语言基础的读者,它把数据结构中的算法从基础到非常深入全部都包括了,个人建议你先把C语言用熟悉了,然后再去看算法导论,如果有决心看完,数据结构都不用看,因为你看完算法导论,就等于学会了非常高级的数据结构。原书很厚,对于时间不多的人,看完很难。大多数人都拿它当做一本字典,不会了就去上面找,有空就看看。

基础类之:数据库系统概念

该书全面介绍数据库系统的各种知识,透彻阐释数据库管理的基本概念。本书内容丰富,不仅讨论了关系数据模型和关系语言、数据库设计过程、关系数据库理论、数据库应用设计和开发、数据存储结构、数据存取技术、查询优化方法、事务处理系统和并发控制、故障恢复技术、数据仓库和数据挖掘,而且对性能调整、性能评测标准、数据库应用测试和标准化、空间和地理数据、时间数据、多媒体数据、移动和个人数据库管理以及事务处理监控器、事务工作流、电子商务、高性能事务系统、实时事务系统和持续长时间的事务等高级应用主题进行了广泛讨论。

基础类型:现代操作系统

该书的作者AndrewS.Tanenbaum当年为了教授操作系统课程发明了MINIX,而MINIX就是最早的Linux原型。Tanenbaum的书写得都非常好,操作系统的知识娓娓道来,由浅入深慢慢深入到操作系统的内部。该书相比作者的另一本描述操作系统实现的书,增加了现代操作系统中的新特性,比如多处理机系统,虚拟化,分布式系统等内容。同时该书还有配有案例研究,对于几种流行的操作系统进行了分析,使你能对知识有更深刻的了解。当然这本书的内容是非常经典的,线程,锁的概念几乎是每个程序员的必备知识,它是你进行多线程编程时的基础;文件系统,I/O原理可以说是嵌入式的基础。最后说下该书的翻译,总体来说我觉得不错,行文流畅,把原作者的意思也表达得比较清楚,毕竟译者从第一版翻译到了第三版。




温馨提示