‘壹’ 计算机科学与技术,大二了,我该学些什么呢,现在只会写几行代码
我不是大神,事实上我还是大一呢。我已经学了C,正在学C++,我也是一头雾水。再好多看些相关书籍。我给你推荐些。我只看了一点就受益无穷。求采纳。
计算机经典教材
目录
1 前言
2 Mathematics (数学)
3 Data Structures & Algorithms (数据结构、算法)
4 Compiler (编译原理)
5 Operating System (操作系统)
6 Database (数据库)
7 C (C 语言)
8 C++ (C++ 语言)
9 Object-Oriented (面向对象)
10 Software Engineering (软件工程)
11 UNIX Programming (UNIX编程)
12 UNIX Administration (UNIX系统管理)
13 Networks (网络)
14 Windows Programming (Windows 编程)
15 Other (其它)
前言
推荐原则:
宁缺勿滥,决不混进糟粕 (好书不一定对所有人都合适,但对于它的目标读者群来说,一定是好书)。
选书原则:
有国外的,不看国产的
有原版的,不看翻译的
看大师的作品
看书原则:
不要看C、C++、java……今天听说C好,就跑去学C。明天听说java好,就跑去学java,最后你什么也学不到。因为不管什么语言,永远不要忘记语言的本质。语言只是一种工具,它的作用就是完成你的工作。不管把
C 的语法学得如何透彻,也不管把 C 的
trick用的如何精妙,这都不能表示你会编程。要学会如何分析问题,如何设计程序,如何用一种具体的语言来实现。如果你只会做最后一步,你只是一个编码者(coder),还不是一个程序员(programmer)。做一个programmer,不要做coder。总之,不要为了学语言而去学语言(除非你是个语言学家)。
不要放弃对基础知识的学习。所谓基础知识,一般都有一个特点,那就是:它们可能看起来没用,但如果你忽视它们的话,总有一天你会后悔莫及。所以,如果不想以后再后悔的话,就在今天多花点时间。
不管学什么东西,学之前先弄明白自己要学的是什么东西,它有什么用,在你已经学和以后的发展方向中,它处于什么位值。如果这些都不明白,就好比在茫茫的丛林里面四处乱撞,就算能出去,也一定会走很多弯路。
对于软件工程之类的东西,不象 C
语言有着严格的标准,最好的办法就是兼收并蓄,能看的都看,然后(最重要的)在此之上形成自己的思想(不然就什么都白看了)。
尽信书不如无书。书里写的只不过是写书的人认为正确的观点而已。学习前人的知识和经验,在此基础上形成自己的知识结构、观点和思维方式,才是学习的真正目的。
一。Mathematics (数学)
书名(英文):Discrete Mathematics and Its Applications (Fifth Edition)
书名(中文):离散数学及其应用 (第五版)
原作者:Kenneth H.Rosen
书名(英文):Concrete Mathematics : A Foundation for Computer Science
(Second Edition)
书名(中文):具体数学:计算机科学基础 (第2版)
原作者:Ronald L. Graham / Donald E. Knuth / Oren Patashnik
二。Data Structures & Algorithms (数据结构、算法)
书名(英文):Data Structures and Algorithm Analysis in C, Second Edition
书名(中文):数据结构与算法分析--C语言描述 (第二版)
原作者:Mark Allen Weiss
大凡国外的数据结构教科书,都有一个共同的特点,就是他们的第一章都不是讲的数据结构,而是软件工程的基本原则。我个人认为这是十分必要的,特别是对于大
多数没有接触过程序设计的同学来说,在数据结构这个可以说是第一次接触程序设计的课程中能学习到基本的软件工程原则,对于以后的学习是十分有好处的。写一
个乱七八糟的程序出来还不如什么都不写。在我看来,这本书有两个优点:一:将软件工程的基本原则贯穿全书,二:简单,容易理解。对于初学者,这本书无疑是
非常合适的。mufasa
书名(英文):Data Structures & Program Design In C (Second Edition)
书名(中文):数据结构与程序设计 C 语言描述 (第二版)
原作者:Robert Kruse / C.L. Tondo / Bruce Leung
书名(英文):Data Structures with C++ Using STL (Second Edition)
书名(中文):数据结构C++语言描述描述—应用标准模版库 (第二版)
原作者:William Ford, William Topp
书名(英文):Introction to Algorithms (Second Edition)
书名(中文):算法导论 (第二版)
原作者:Thomas H. Cormen / Charles E. Leiserson / Ronald L. Rivest /
Clifford Stein
书名(英文):The Art of Computer Programming, Volume 1 : Fundamental
Algorithms (Third Edition)
书名(中文):计算机程序设计艺术 第1卷 基本算法 (第3版)
原作者:Donald E. Knuth
书名(英文):The Art of Computer Programming, Volume 2 : Seminumerical
Algorithms (Third Edition)
书名(中文):计算机程序设计艺术 第2卷 半数值算法 (第3版)
原作者:Donald E. Knuth
书名(英文):The Art of Computer Programming, Volume 3 : Sorting and
Searching (Second Edition)
书名(中文):计算机程序设计艺术 第3卷 排序和查找 (第2版)
原作者:Donald E. Knuth
三。Compiler (编译原理)
书名(英文):Compilers: Principles, Techniques, and Tools
书名(中文):编译原理、技术与工具
原作者:Alfred V. Aho / Ravi Sethi / Jeffrey D. Ullman
书名(英文):Advanced Compiler Design and Implementation
书名(中文):高级编译器设计与实现
原作者:Steven S. Muchnic
书名(英文):Modern Compiler Implementation in C
书名(中文):现代编译原理--C语言描述
原作者:Andrew W.Appel / Maia Ginsburg
四。Operating System (操作系统)
书名(英文):Operating System Concepts (Sixth Edition)
书名(中文):操作系统概念 (第六版)
原作者:Abraham Silberschatz / Peter Baer Galvin / Greg Gagne
书名(英文):Operating Systems : Design and Implementation (Second
Edition)
书名(中文):操作系统:设计及实现 (第二版)
原作者:Andrew S. Tanenbaum / Albert S. Woodhull
翻译者:王鹏、尤晋元、朱鹏、敖青云
书名(英文):The Design and Implementation of the 4.4BSD Operating System
书名(中文):4.4BSD操作系统设计与实现
原作者:Marshall Kirk McKusick / Keith Bostic / Michael J. Karels / John
S.Quarterman
书名(英文):The Design and Implementation of the FreeBSD Operating System
书名(中文):FreeBSD操作系统设计与实现
原作者:Marshall Kirk McKusick / George V. Neville-Neil
翻译者:张辉
书名(英文):The Design of The UNIX Operating System
书名(中文):UNIX操作系统设计
原作者:Maurice J.Bach
书名(英文):UNIX Internals : The New Frontiers
书名(中文):UNIX系统内幕
原作者:Uresh Vahalia
书名(英文):UNIX Systems for Modern Architectures
书名(中文):现代体系结构上的UNIX系统--内核程序员的SMP和Caching技术
原作者:Curt Schimmel
翻译者:张辉
书名(英文):Lions' Commentary on UNIX 6th Edition with Source Code
书名(中文):莱昂氏UNIX源代码分析
原作者:John Lions
书名(英文):Distributed Systems : Principles and Paradigms
书名(中文):分布式系统:原理与范例
原作者:Andrew S.Tanenbaum / Maarten van Steen
五.Database (数据库)
书名(英文):An Introction to Database Systems, Eighth Edition
书名(中文):数据库系统导论 (第八版)
原作者:C. J.Date
书名(英文):Database System Concepts, Fourth Edition
书名(中文):数据库系统概念 (第四版)
原作者:Abraham Silberschat / Henry F.Korth / S.Sudarshan
六。C (C 语
书名(英文):The C Programming Language, Second Edition
书名(中文):C程序设计语言,第二版
原作者:Brian W. Kernighan / Dennis Ritchie
书名(英文):The Art and Science of C : A Library-Based Introction to
Computer Science
书名(中文):C语言的科学和艺术
原作者:Eric S.Roberts
书名(英文):Programming Abstractions in C : A Second Course in Computer
Science
书名(中文):C程序设计的抽象思维
原作者:Eric S.Roberts
书名(英文):Expert C Programming
书名(中文):C专家编程
原作者:Andrew Koenig
书名(英文):C Traps and Pitfalls
书名(中文):C陷阱与缺陷
原作者:Andrew Koenig
七。C++ (C++ 语言)
书名(英文):C++ Primer, Third Edition & Forth Edition
书名(中文):C++ Primer (第三版、第四版)
原作者:Stanley B.Lippman / Josée LaJoie / Barbara E.Moo
翻译者:李师贤、蒋爱军、梅晓勇、林瑛
平心而论,这本书的第三版并不适合入门,但是第四版适合。所以第四版的出现并不意味着第三版就失去了其价值。在我看来最好的办法就是买一本第四版的中文版和一本第三版的英文版。中文版用来入门,英文版用来作参考手册。mufasa
书名(英文):The C++ Programming Language, Special Edition
书名(中文):C++ 程序设计语言 (特别版)
原作者:Bjarne Stroustrup
书名(英文):Inside the C++ Object Model
书名(中文):深度探索 C++ 对象模型
原作者:Stanley B. Lippman
书名(英文):Effective C++, Thrid Edition
书名(中文):Effective C++ (第三版)
原作者:Scott Meyers
书名(英文):More Effective C++
书名(中文):More Effective C++
原作者:Scott Meyers
翻译者:侯捷
书名(英文):Thinking in C++, Second Edition
书名(中文):C++编程思想 (第二版)
原作者:Bruce Eckel
书名(英文):Thinking in C++, Volume 2 : Practical Programming
书名(中文):C++编程思想 第2卷:实用编程技术
原作者:Bruce Eckel / Chuck Alison
书名(英文):Ruminations on C++ : A Decade of Programming Insight and
Experience
书名(中文):C++沉思录
原作者:Andrew Koenig / Barbara Moo
八。Object-Oriented (面向对象)
书名(英文):Object-Oriented Analysis and Design with Applications, Second
Edition
书名(中文):面向对象分析与设计 (第二版)
原作者:Grady Booch
书名(英文):Object-Oriented Modeling and Design with UML,Second Edition
书名(中文):UML面向对象建模与设计 (第二版)
原作者:Michael Blaha / James Rumbaugh
翻译者:车皓阳、杨眉
书名(英文):Object-Oriented Software Construction (Second Edition)
书名(中文):面向对象软件构造 (第二版)
原作者:Bertrand Meyer
书名(英文):Design Patterns : Elements of Reusable Object-Oriented
Software
书名(中文):设计模式:可复用面向对象软件的基础
原作者:Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides
九。Software Engineering (软件工程)
书名(英文):Software Engineering (7th Edition)
书名(中文):软件工程 (第七版)
原作者:Ian Sommerville
书名(英文):Software Engineering : A Practitioner's Approach (Fifth
Edition)
书名(中文):软件工程:实践者之路 (第5版)
原作者:Roger S. Pressman
书名(英文):Software Engineering : Theory and Practice (Second Edition)
书名(中文):软件工程:理论与实践 (第二版)
原作者:Shari Lawrence Pfleeger
书名(英文):The Mythical Man-Month
书名(中文):人月神话
原作者:Frederick Phillips Brooks
书名(英文):Software Architecture : Perspectives On an Emerging Emerging
Discipline
书名(中文):软件体系结构:一门初露端倪学科的展望
原作者:Mary Shaw / David Garlan
十。UNIX Programming (UNIX编程)
书名(英文):Advanced Programming in the UNIX Environment, Second Edition
书名(中文):UNIX 环境高级编程 (第二版)
原作者:W.Richard Stevens / Stephen A.Rago
翻译者:尤晋元、张亚英、戚正伟
书名(英文):The UNIX Programming Environment
书名(中文):UNIX 编程环境
原作者:Brianw. Kernighan
书名(英文):UNIX Network Programming, Volume 1 : The Sockets Networking
API (Third Edition)
书名(中文):UNIX 网络编程 卷1:套接字联网API (第三版)
原作者:W. Richard Stevens / Bill Fenner / Andrew M. Rudoff
书名(英文):UNIX Network Programming Volume 2 : Interprocess
Communications (Second Edition)
书名(中文):UNIX 网络编程 卷2:进程间通信 (第2版)
原作者:W. Richard Stevens
书名(英文):The Art of UNIX Programming
书名(中文):UNIX 程序设计艺术
原作者:Eric Raymond
UNIX Administration (UNIX系统管理)
书名(英文):UNIX System Administration Handbook (Third Edition)
书名(中文):UNIX系统管理技术手册 (第三版)
原作者:Evi Nemeth / Garth Snyder
书名(英文):Linux Administration Handbook
书名(中文):Linux系统管理技术手册
原作者:Evi Nemeth / Garth Snyder / Trent R.Hein
书名(英文):UNIX Unleashed (Fourth Edition)
书名(中文):UNIX 技术内幕 (第四版)
原作者:Robin Anderson / Andy Johnston
书名(英文):UNIX:The Textbook
书名(中文):UNIX操作系统教程
原作者:Syed Mansoor Sarwar / Robert Koretsky / Syed Aqeel Sarwar
书名(英文):Unix Backup & Recovery
书名(中文):UNIX 备份与恢复
原作者:W.Curtis Preston
十一。Networks (网络)
书名(英文):Computer Networks (Fourth Edition)
书名(中文):计算机网络 (第4版)
原作者:Andrew S. Tanenbaum
书名(英文):TCP/IP Illustrated, Volume 1 : The Protocols
书名(中文):TCP/IP 详解 卷1:协议
原作者:W. Richard Stevens
书名(英文):TCP/IP Illustrated, Volume 2 : The Implementation
书名(中文):TCP/IP详解 卷2:实现
原作者:Gary R. Wright / W. Richard Stevens
书名(英文):TCP/IP Illstrated, Volume 3 : TCP for Transactions, HTTP,
NNTP, and the UNIX Domain Protocols
书名(中文):TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议
原作者:W. Richard Stevens
书名(英文):Internetworking with TCP/IP Vol I : Principles, Protocols,
and Architecture (Third Edition)
书名(中文):TCP/IP 网络互连技术 卷1:原理、协议和体系结构 (第3版)
原作者:Douglas E. Comer
书名(英文):Internetworking with TCP/IP Vol II : Design, Implementation,
and Internals (Second Edition)
书名(中文):TCP/IP 网络互连技术 卷2:设计与实现 (第2版)
原作者:Douglas E. Comer / David L. Stevens
书名(英文):Internetworking with TCP/IP Vol III : Client-Server
Programming and Applications, BSD Socket Version (Second Edition)
书名(中文):TCP/IP 网络互连技术 卷3:客户服务器编程和应用BSD套接字版 (第2版)
原作者:Douglas E. Comer / David L. Stevens
书名(英文):Internetworking with TCP/IP Vol III : Client-Server
Programming and Applications, Windows Sockets Version
书名(中文):TCP/IP 网络互连技术 卷3:客户服务器编程和应用Windows套接字版
原作者:Douglas E. Comer / David L. Stevens
十二。Windows Programming (Windows 编程)
书名(英文):Inside Microsoft Windows 2000 (Third Edition)
书名(中文):Microsoft Windows 2000 技术内幕 (第3版)
原作者:David A.solomon Mark E.Russinovich
书名(英文):Programming Windows (Fifth Edition)
书名(中文):Windows 编程 (第5版)
原作者:Charles Petzold
书名(英文):Programming Applications for Microsoft Windows
书名(中文):Microsoft Windows 应用程序设计
原作者:Jeffrey Richter
书名(英文):Programming with Microsoft Visual C++ .NET (Sixth Edition)
书名(中文):Visual C++.NET 技术内幕 (第6版)
原作者:George Shepherd / David Kruglinski
书名(英文):Dissecting MFC
书名(中文):深入浅出MFC
原作者:侯捷
十三。Other (其它)
书名(英文):Computer Systems : A programmer' s Perspective
书名(中文):计算机系统
原作者:Randal E. Bryant / David R. O'Hallaron
书名(英文):Pattern Classification (Second Edition)
书名(中文):模式分类 (第2版)
原作者:Richard O. Duda / Peter E. Hart / David G. Stork
书名(英文):Code Complete 2
书名(中文):代码大全第2版
原作者: Steve McConnell
书名(英文):Programming Pearls (2nd Edition)
书名(中文):编程珠玑第2版
原作者: Jon Bentley
别人给我推荐的,我只看过一两本。
‘贰’ 《编程珠玑(第2版61修订版)》pdf下载在线阅读全文,求百度网盘云资源
《编程珠玑(第2版61修订版)》([美]JonBentley乔恩·本特利)电子书网盘下载免费在线阅读
链接: https://pan..com/s/1oILIOvvhgwZ5_PZuSO2QkQ
书名:编程珠玑(第2版61修订版)
豆瓣评分:8.4
作者:[美]JonBentley乔恩·本特利
出版社:人民邮电出版社
原作名:More Programming Pearls,Second Edition
译者:黄倩/钱丽艳
出版年:2014-12
页数:280
内容简介:
历史上最伟大的计算机科学着作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名着,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
本书是计算机科学方面的经典名着。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。
书评
“《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。”
——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
作者简介:
Jon Bentley 世界着名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976~1982)、贝尔实验室(1982~2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr. Dobb's程序设计卓越奖。
译者简介
黄倩 工学博士,中国计算机学会高级会员,先后就读于南京大学、中国科学院计算技术研究所,先后工作于联发博动科技(北京)有限公司、河海大学计算机与信息学院。主要从事视频处理、机器学习方面的研究工作,获国家自然科学基金资助1项,发表论文十余篇。
钱丽艳 北京大学信息科学技术学院基础实验教学研究所软件实验室主任、高级工程师、毕业于国防科技大学,目前主要从事数值计算、程序设计方面的研究工作。
审校人简介
刘田 北京大学信息科学技术学院软件研究所副教授、中国电子学会电路与系统分会图论与系统优化专业委员会秘书长、中国计算机学会和中国电子学会高级会员,毕业于中国科学技术大学,目前主要从事算法分析和计算复杂度、量子信息处理等方面的研究工作,翻译出版了多部国外着名离散数学和计算机理论教材。
‘叁’ 算法不扎实的程序员,每一个都很慌
初学者经常问这样的问题,然而这些其实是错误的问题。
对于初学者而言,你最应该优先考虑的是,哪些东西构成了程序的基础?
最经典的一句话: 程序 = 数据结构 + 算法 。
如果说编程语言是程序的血肉,那么算法就是程序的灵魂。
人不能没有血肉之躯,但是没有灵魂的人依然只是一个死人。
不能单纯依靠算法衡量一个程序员的好坏,但是面试的时候考算法绝对是简单高效的筛选手段。近些年大厂的面试几乎必考算法也是这个原因。每一个算法学的不扎实的程序员,在面试的时候都很慌。
下面这些书籍应该是算法方面最常见的经典书籍。我有幸都读过,有些读完了,有些半途而废,不过基本上也都算是熟悉。顺序上由易到难,从薄到厚,每本书下面我会简单的介绍一番,希望能对你的学习有所帮助。
首先是两本算法入门书籍,也可以当做算法读物:
《啊哈!算法》
用他的自我介绍的来讲:“这不过是一本有趣的算法书而已,和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。”
图文并茂,而且画风有趣,适合新手入门,但是代码是C的,看着比较累,文字也略显冗长。
图是非常棒的,启蒙用,非教科书
《算法图解》
和《啊哈》类似,他的介绍是:“像小说一样有趣的算法入门书。”
书里面讲的很好,python代码也很容易读懂,比之《啊哈!算法》,书中的例子没有那么有趣,但是图很清晰,文字和代码不冗杂。
缺点同样是非教科书,非常浅显,三四个小时就看完了。有一种刚刚热身的感觉。
接下来这几本都是最常见的书了:
《数据结构与算法分析C语言描述》
这本书的作者几乎不浪费笔墨在一些简单的地方。书很薄,但是覆盖面很广很深,作者实在是非常厉害。
不过反过来说,就是有些地方讲的语焉不详……
这本书还有Java语言版本的,但是相比之下C的更好一些。
挺好的一本书。
还有一点是翻译不是很给力,好多人都没坚持看完。
《数据结构与算法Python语言实现》
英文版评分非常高,中文版评分非常低……
据说是也翻译的不好。另外就是本书自身错误也不少……几版过后依然很多没有改过来。
书中数学证明和介绍比较简单。因为采用Python语言的原因,比较易读。
浅显易懂,内容上循序渐进,环环相扣。相比于上一本,我会更推荐一些。厚度也不算厚。
《数据结构与算法 Python语言描述》
北大教授裘宗燕的书,这本书前面写的挺好的,尤其是在面向对象还有ADT等思想的阐述,都很不错。
但是读到后来给我一种虎头蛇尾的感觉,前面气势如虹绪论就写了很长,最后三章感觉有点草草收尾的意思。就像编辑在催稿,而作者很忙的样子……
另外就是这本书的编排顺序我个人也不是特别喜欢。
接下来是两本大部头,都是非常厚的书。
他们最大的特点就是:出现率远大于看完率
《算法导论》
算法书中的权威,MIT的6.046J就是按照这个来讲的。
公认最好的算法书,组织结构合理,内容详尽。引导读者从思维方式上对算法进行领悟。
书中对算法的数学结构进行了详尽的阐述。有非常多的数学证明。
这本书我说不出什么缺点,只能说有些内容是因为我还没到大牛的境界,暂时还无法体会理解。
我个人的观点是:不要纠结于详细的伪代码,不用纠结于连篇累牍的讲解。体会其中算法的精髓就好。
《算法》第四版
如果说,《算法导论》是学术上最好书,那这本应该是实际应用最好的书。
它对数学的要求比《算法导论》低很多,摒弃了算法的证明。
书中具体给出了每位程序员应知应会的50个算法,深入浅出,大量图解。非常棒。
java基础的话你能撸出来Hello World基本上就可以开始看这本书了,这本书最大的不友好之处在于它的第一章非常长,没看过的人又不知道哪里可以跳过。
这本书后面的翻译感觉不如前边了,不知道是换人了还是DDL了……
翻开书就会看到很多的图,配套作者在coursera上面的课程学的话事半功倍!
接下来的几本我看的比较少,简单介绍一下,希望大家自己去发现和了解,不要漏下这些好书:
《编程珠玑》
很薄一本啊,但是我放在那还没看完……
这本书被称为: 历史 上最伟大的计算机科学着作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书。
内容不深,但是不是一个知识点一个知识点的给你讲解算法原理的。
这本书的核心思想是让你了解如何正确选择和高效地实现算法。书中还有一些趣闻轶事,看着倒是很有意思~
有兴趣的同学可以看看~
《算法竞赛入门经典》系列
算法竞赛入门经典书,ACM必备书籍吧算是。书中题目对于竞赛来说比较简单,但是对于一般我们平时工程来说偏难。语言用的是C/C++,请好好做例题好好做作业,读书的时候好好思考和复习~
反正我是没读过,捂脸……
《剑指Offer》
这个书很有意思,对于在校生来说我个人觉得是必看的书。没有任何工作经验的同学在面试的时候真的会被问懵的。这本书可以让你了解如何应付考官日常问题,在解答面试问题的时候,书中很多方法和思路会让考官觉得你思考的很全面,给你加不少分。
我面试的时候也曾快速扫过一遍这本书,让我在回答问题的时候条理更清晰。书中代码是C的,emmm,于是代码部分我就没太看……
《用Python解决数据结构与算法问题》
最后给大家推荐一本在线的 免费 的算法书。
https://facert.gitbooks.io/python-data-structure-cn/
不是大部头,也不是读物,新手入门足够用,书中介绍了大多数日常需要的算法,并且讲的比较浅显~转行的新手基本可以通过这本书来快速掌握常用基本算法了~
反正免费,是否适合自己看两页也就get了~
如果需要PDF版,可以在“程序员必修课”公众号后台回复:“Python算法书”获取。
‘肆’ 《数据结构与算法分析:C语言描述(原书第2版) 》这本书比起其他书,可以么看这本书需要什么基础
额,我想你说的《数据结构与算法分析》应该是Weiss写的那本吧,那本书豆瓣给出了9分的评分,已经算是非常高的分数了,但计算机世界的经典着作犹如浩瀚的海洋,了不起的编程书籍还有很多。
Kernighan的《程序设计实践》是让你全面了解编程该做些什么的经典着作,尽管这书非常地薄。
cormen的《算法导论》和Skiena 《算法设计手册》是比《数据结构与算法分析》更大部头的巨着。
Bentley的《编程珠玑》(1,2卷)将带你领略算法的力量。
侯捷的《STL源码剖析》,深入讲解C++标准库的实现细节,让你真正见识顶尖高手的杰作。
stevens 的《unix环境高级编程》《unix网络编程》是程序员的进阶宝典,应当一读再读,因为你最终会明白,你的程序是运行在操作系统上的,是需要和网络交互的,你需要了解他们,和他们友好相处。
C++之父Bjarne Stroustrup的三本大作:《 C++程序设计语言 》、《C++程序设计原理与实践 》、《C++语言的设计和演化 》是C++语言的最权威的指南,同时也是经典编程着作。
Bryant的《深入理解计算机系统》都是能告诉你计算机底层做了什么工作,让你更好地理解计算机,更好地利用CPU的天书。
关于软件开发方面的经典着作有《程序员修炼之道》《代码大全》《重构》《设计模式》,在任何一个编程论坛的推荐表里,这些都是程序员必看图书。
还有一本书叫《计算机程序的构造和解释》,神一样的着作,它可以颠覆你的编程思维。
当然,计算机算法的顶尖之作要算knuth的《计算机程序设计艺术》(1-4卷),其内容极深极广极难,那真是如浩瀚之海洋,叹为观止了。
所谓术业有专攻,每个领域都有其经典的着作,这就要根据你个人的兴趣去进一步探究了。例如程序设计语言与编译器、操作系统内核、硬件设计、人工智能与机器学习、自然语言处理、信息论与信号处理、网络编程、机器人等等。
‘伍’ 关于网络发展、html5、css有没有什么入门丛书推荐
这个列表包括了 100多本经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。
计算机系统与网络
《图灵的秘密:他的生平、思想及论文解读》
《计算机系统概论》
《深入理解Linux内核》
《深入Linux内核架构》
《TCP/IP详解 卷1:协议》
《Linux系统编程(第2版)》
《Linux内核设计与实现(第3版)》
《深入理解计算机系统(原书第2版)》
《计算机程序的构造和解释(原书第2版)》
《编码:隐匿在计算机软硬件背后的语言》
《性能之颠:洞悉系统、企业与云计算》
《UNIX网络编程 卷1:套接字联网API(第3版)》
《UNIX网络编程 卷2:进程间通信》
《Windows核心编程(第5版)》
《WireShark网络分析就这么简单》
《WireShark网络分析的艺术》
编程通用
《编程原本》
《代码大全》
《UNIX编程艺术》
《代码整洁之道》
《编程珠玑(第2版)》
《编程珠玑(续)》
《软件调试的艺术》
《编程语言实现模式》
《编写可读代码的艺术》
《精通正则表达式(第3版)》
《编译原理(第2版)》龙书
《重构:改善既有代码的设计》
《七周七语言:理解多种编程范型》
《调试九法:软硬件错误的排查之道》
《计算的本质:深入剖析程序和计算机》
《设计模式 : 可复用面向对象软件的基础》
算法与数据结构
《算法(第4版)》
《算法导论(原书第2版)》
《Python算法教程》
《算法设计与分析基础(第3版)》
《学习 JavaScript 数据结构与算法》
《数据结构与算法分析 : C++描述(第4版)》
《数据结构与算法分析 : C语言描述(第2版)》
《数据结构与算法分析 : Java语言描述(第2版)》
职业修炼与规划
《大教堂与集市》
《程序员的职业素养》
《程序员修炼之道:从小工到专家》
《软件开发者路线图:从学徒到高手》
《我编程,我快乐: 程序员职业规划之道》
《程序员的思维修炼:开发认知潜能的九堂课》
《高效程序员的45个习惯:敏捷开发修炼之道(修订版)》
大师访谈
《编程大师智慧》
《编程大师访谈录》
《编程人生 : 15位软件先驱访谈录(上卷)》
《编程人生 : 15位软件先驱访谈录( 下卷)》
《奇思妙想 : 15位计算机天才及其重大发现》
《图灵和ACM图灵奖》
架构/性能
《微服务设计》
《大数据日知录》
《企业应用架构模式》
《Web性能权威指南》
《SRE:Google运维解密》
《发布!软件的设计与部署》
《高扩展性网站的 50 条原则》
《大型网站技术架构:核心原理与案例分析》
《恰如其分的软件架构:风险驱动的设计方法》
《软件系统架构:使用视点和视角与利益相关者合作(第2版)》
Web前端
《高性能 JavaScript》
《锋利的 jQuery(第2版)》
《JavaScript 忍者秘籍》
《编写可维护的 JavaScript》
《你不知道的 JavaScript(上卷)》
《你不知道的 JavaScript(中卷)》
《JavaScript 权威指南(第6版)》
《JavaScript 语言精粹(修订版)》
《JavaScript DOM编程艺术 (第2版)》
《JavaScript 高级程序设计(第3版)》
《JavaScript 异步编程:设计快速响应的网络应用》
《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》
《HTML5 权威指南》
《HTML5 秘籍(第2版)》
《HTML5 与 CSS3 基础教程(第八版)》
《CSS 揭秘》
《CSS 设计指南(第3版)》
《CSS 权威指南(第3版)》
Java开发
《Java8 实战》
《Java并发编程实战》
《Java性能权威指南》
《Java程序员修炼之道》
《实战Java高并发程序设计》
《Java编程思想 (第4版)》
《深入理解Java虚拟机(第2版)》
《Effective java 中文版(第2版)》
《Java核心技术·卷1:基础知识(原书第9版)》
《Java核心技术·卷2:高级特性(原书第9版)》
.NET
《精通C#(第6版)》
《深入理解C#(第3版)》
《CLR via C#(第4版)》
Python
《集体智慧编程》
《笨办法学Python》
《Python基础教程》
《Head First Python》
《与孩子一起学编程》
《Python学习手册(第4版)》
《Python Cookbook(第3版)》
《Python参考手册(第4版)》
《Python核心编程(第3版)》
《Python科学计算(第2版)》
《利用 Python 进行数据分析》
《Think Python:像计算机科学家一样思考Python(第2版)》
《Python编程实战:运用设计模式、并发和程序库创建高质量程序》
《Python绝技:运用Python成为顶级黑客》
《Flask Web开发:基于Python的Web应用开发实战》
Android
《Android编程权威指南(第2版)》
《移动应用UI设计模式(第2版)》
iOS
《iOS编程实战》
《iOS编程(第4版)》
《Objective-C高级编程》
《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》
PHP
《Head First PHP & MySQL(中文版)》
《深入PHP:面向对象、模式与实践(第3版)》
C语言
《C和指针》
《C专家编程》
《C陷阱与缺陷》
《C语言接口与实现》
《C程序设计语言(第2版)》
C++
《C++标准库》
《C++编程思想》
《C++程序设计原理与实践》
《C++ Primer (中文第5版)》
《C++ Primer习题集(第5版)》
《C++程序设计语言(第1-3部分)(原书第4版)》
《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)》
《More Effective C++:35个改善编程与设计的有效方法(中文版)》
机器学习和数据挖掘
《数据之巅》
《矩阵分析》
《机器学习》
《统计学习方法》
《机器学习导论》
《推荐系统实践》
《机器学习实战》
《Web数据挖掘》
《深入浅出统计学》
《模式分类(第2版)》
《概率论与数理统计》
《统计学习基础(第2版)》
《数据挖掘:概念与技术(第3版)》
《数据挖掘:实用机器学习工具与技术(原书第3版)》
《大数据:互联网大规模数据挖掘与分布式处理(第2版)》
数据库
《SQL应用重构》
《SQL Cookbook》
《高性能MySQL (第3版)》
《MySQL技术内幕 : InnoDB存储引擎(第2版)》
《深入浅出MySQL : 数据库开发、优化与管理维护》
测试
《探索式软件测试》
《有效的单元测试》
《Google软件测试之道》
项目与团队
《人月神话》
《快速软件开发》
《人件(原书第3版)》
《门后的秘密:卓越管理的故事》
《极客与团队:软件工程师的团队生存秘笈》
求职面试
《程序员面试金典(第5版)》
《编程之美 : 微软技术面试心得》
《金领简历:敲开苹果、微软、谷歌的大门》
《剑指Offer:名企面试官精讲典型编程题(纪念版)》
编程之外
《暗时间》
《数学之美》
《精益创业》
《批判性思维》
《世界是数字的》
《程序员的数学》
《程序员健康指南》
《禅与摩托车维修艺术》
《关键对话:如何高效能沟通》
《写作法宝:非虚构写作指南》
《黑客与画家 : 来自计算机时代的高见》
《软件随想录(卷1)》《软件随想录(卷2)》
《如何把事情做到最好》
大家有什么好书推荐欢迎在评论中留言。
注:本文转自伯乐在线。
‘陆’ 《编程珠玑(第2版61修订版)》pdf下载在线阅读,求百度网盘云资源
《编程珠玑(第2版•修订版)》([美] Jon Bentley 乔恩•本特利)电子书网盘下载免费在线阅读
链接:https://pan..com/s/1uMfVtxHshOli_4xq1JbX5Q
书名:编程珠玑(第2版•修订版)
作者:[美] Jon Bentley 乔恩•本特利
译者:黄倩
豆瓣评分:8.4
出版社:人民邮电出版社
出版年份:2014-12
页数:280
内容简介:
历史上最伟大的计算机科学着作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名着,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
本书是计算机科学方面的经典名着。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。
书评
“《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。”
——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
作者简介:
Jon Bentley 世界着名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976~1982)、贝尔实验室(1982~2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr. Dobb's程序设计卓越奖。
译者简介
黄倩 工学博士,中国计算机学会高级会员,先后就读于南京大学、中国科学院计算技术研究所,先后工作于联发博动科技(北京)有限公司、河海大学计算机与信息学院。主要从事视频处理、机器学习方面的研究工作,获国家自然科学基金资助1项,发表论文十余篇。
钱丽艳 北京大学信息科学技术学院基础实验教学研究所软件实验室主任、高级工程师、毕业于国防科技大学,目前主要从事数值计算、程序设计方面的研究工作。
审校人简介
刘田 北京大学信息科学技术学院软件研究所副教授、中国电子学会电路与系统分会图论与系统优化专业委员会秘书长、中国计算机学会和中国电子学会高级会员,毕业于中国科学技术大学,目前主要从事算法分析和计算复杂度、量子信息处理等方面的研究工作,翻译出版了多部国外着名离散数学和计算机理论教材。
‘柒’ 自学Java如何入门
自学Java看这一篇就够啦!Java学习路线图分享给你,跟着学习吧!
一、Java基础