『壹』 計算機科學與技術,大二了,我該學些什麼呢,現在只會寫幾行代碼
我不是大神,事實上我還是大一呢。我已經學了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基礎