書單|據說數據結構和算法、作業系統是程式設計師內功心法?

程序員書屋 發佈 2020-03-14T04:09:29+00:00

4、算法詳解卷1 算法基礎[美] 蒂姆·拉夫加登 著,徐波 譯算法詳解系列圖書共有4卷,本書是第一卷——基礎算法。

今天小編看到留言,說數據結構和算法、作業系統、網絡是程式設計師內功心法,這句留言給了小編又一次推薦好書的機會。非常感謝謝!

UNIX昨天推薦過,今天不在做推薦。昨天給大家推薦過,今天給大家一份數據結構和算法、作業系統的書單吧!你們好好在家辦公之餘繼續修煉武功秘籍。

1、趣學算法

陳小玉 著

本書從算法之美娓娓道來,沒有高深的原理,也沒有枯燥的公式,通過趣味故事引出算法問題,包含50多個實例及完美圖解,結合學生提問,分析算法本質,並給出代碼實現的詳細過程和運行結果。
本書的特色和價值:
(1)實例豐富,通俗易懂
(2)完美圖解,簡單有趣
(3)深入淺出,透析本質
(4)實戰演練,循序漸進
(5)網絡資源,技術支持

2、趣學數據結構

陳小玉 著

本書基於C++語言編寫,從趣味故事引入算法複雜性計算及數據結構基礎內容,涵蓋線性結構、樹形結構和圖形結構,包括鍊表、棧和隊列、樹和圖的應用等。本書內容還涉及數據結構的基本應用(包括各種查找、排序等)和高級應用(包括優先隊列、並查集、B-樹、B+樹和紅黑樹等)。通過大量圖解將抽象數據模型簡單通俗化,語言表述淺顯易懂,並結合有趣的實例幫助讀者輕鬆掌握數據結構。

3、編程的樂趣 用Python解算法謎題

斯里尼·德瓦達斯(Srini Devadas) 著,戴旭,李亞舟,許亞運 譯

  • 趣學算法入門教程書
  • 麻省理工學院(MIT)教授帶你輕鬆入門編程算法

讀者只需掌握初級的編程概念,就可以閱讀本書。本書包含了21 個謎題,其中很多謎題都家喻戶曉並廣為流傳,如多皇后、漢諾塔、在幾秒鐘內解決數獨問題、六度分隔等。每個謎題後面都配有不同難度的編程習題,讀者可以先自行完成編碼,再對照本書給出的答案進行探索和提升。

4、算法詳解 卷1 算法基礎

[美] 蒂姆·拉夫加登(Tim Roughgarden) 著,徐波 譯

算法詳解系列圖書共有4卷,本書是第一卷——基礎算法。本書共有6章,主要介紹了4個主題,它們分別是漸進性分析和大O表示法、分冶算法和主方法、隨機化算法以及排序和選擇。附錄A和附錄B簡單介紹了數據歸納法和離散機率的相關知識。本書的每一章均有小測驗、章末習題和編程題,這為讀者的自我檢查以及進一步學習提供了較多的便利。

5、人工智慧算法 卷1 基礎算法

[美] 傑弗瑞·希頓(Jeffery Heaton) 著,李爾超 譯

  • AI算法入門教程書籍,人人都能讀懂的人工智慧書
  • 全彩印刷,實例講解易於理解的人工智慧基礎算法
  • 多種語言版本示例代碼、豐富的在線資源,方便動手實戰與拓展學習

欲建高樓,必重基礎。本書講授諸如維度法、距離度量算法、聚類算法、誤差計算、爬山算法、模擬退火算法、Nelder-Mead算法和線性回歸算法等人工智慧基礎算法。本書中所有算法均配以具體的數值計算示例。

「人工智慧算法」系列圖書的目標讀者是那些沒有良好數學基礎,又對人工智慧感興趣的人。本書讀者只需具有基本的大學代數和計算機編程知識,任何超出這個範圍的內容都會在書中詳細說明。本書為讀者提供配套的示例程序代碼, 當前已有Java、C#、R、C/C++和Python的語言版本,還有社區支持維護的Scala語言版本。

6、編程珠璣 第2版

[美] 喬恩·本特利(Jon Bentley) 著,黃倩,錢麗艷 譯

  • 經典算法和數據結構習題精粹
  • 計算機科學領域20餘年暢銷不衰的不朽經典
  • 程式設計師案頭常備,融深邃思想、實戰技術與趣味軼事於一爐的奇書

在書中,作者選取許多具有典型意義的複雜編程和算法問題,生動描繪了歷史上大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程式設計師和軟體工程師那樣富於創新性地思考,並透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。解決方案的代碼均以C/C++語言編寫,不僅有趣,而且有很大的實戰示範意義。每章後所附習題極具挑戰性和啟發性,書末給出了簡潔的解答。

7、Python算法教程

[挪威] 赫特蘭(Magnus Lie Hetland) 著,凌傑,陸禹淳,顧俊 譯

本書用Python語言來講解算法的分析和設計。本書主要關注經典的算法,但同時會為讀者理解基本算法問題和解決問題打下很好的基礎。全書共11章。分別介紹了樹、圖、計數問題、歸納遞歸、遍歷、分解合併、貪心算法、複雜依賴、Dijkstra算法、匹配切割問題以及困難問題及其稀釋等內容。本書在每一章結束的時候均有練習題和參考資料,這為讀者的自我檢查以及進一步學習提供了較多的便利。在全書的結尾,給出了練習題的提示,方便讀者進行查漏補缺。
本書概念和知識點講解清晰,語言簡潔。本書適合對Python算法感興趣的初中級用戶閱讀和自學,也適合高等院校的計算機系學生作為參考教材來閱讀。

8、算法謎題

[美] Anany Levitin,Maria Levitin 著,趙勇,徐章寧,高博 譯

  • Google、Facebook等一流IT公司算法面試必備,經典算法謎題合集

《算法謎題》是一本經典算法謎題的合集。書中包括了一些古已有之的謎題,數學和計算機科學有一部分知識就發源於此。《算法謎題》中還有一些較新的謎題,其中有一部分謎題被用作知名IT企業的面試題。全書可分為4個部分,分別是概覽、謎題、提示和答案。概覽介紹了算法設計的通用策略和算法分析的技術,還附帶有不少的實例。謎題部分將謎題按照簡單、中等難度和較難三個層級分別列出。提示部分依次給出謎題提示,幫助讀者找到正確的解題方向,同時仍然為讀者留下了獨立求解的空間。答案部分則給出了謎題的詳細解答。

9、編程原本

亞歷山大·斯特潘諾夫(Alexander Stepanov),[美] 保羅·麥克瓊斯(Paul McJones) 著,裘宗燕 譯

  • 追溯數學原理,探求編程的本質,一窺STL的設計思想
  • 體會程序設計的疊代式過程,發現處理問題的高效算法
  • C++STL之父經典力作,C++之父鼎力推薦


本書將嚴格的數學定義、公理化和演繹方法應用於程序設計,討論程序與保證它們正確工作的抽象數學理論之間的聯繫。本書把理論的規程、基於這些規程寫出的算法,以及描述算法性質的引理和定理一起呈現給讀者,以幫助讀者將複雜系統分解為一些具有特定行為的組件。
本書適合軟體開發人員和需要進行程序設計的科學家及工程師閱讀,也可供高等院校計算機及相關專業的師生參考。

作業系統書單

1、作業系統導論

雷姆茲·H.阿帕希杜塞爾(,Remzi,H.,Arpaci-Dusseau),[美] 安德莉亞·C.阿帕希杜塞爾(Andrea ... 著,王海鵬 譯

本書圍繞虛擬化、並發和持久性這三個主要概念展開,介紹了所有現代系統的主要組件(包括調度、虛擬內存管理、磁碟和I/O子系統、文件系統)。全書共50章,分為3個部分,分別講述虛擬化、並發和持久性的相關內容。作者以對話形式引入所介紹的主題概念,行文詼諧幽默卻又鞭辟入裡,力求幫助讀者理解作業系統中虛擬化、並發和持久性的原理。
本書內容全面,並給出了真實可運行的代碼(而非偽代碼),還提供了相應的練習,很適合高等院校相關專業的教師開展教學和高校學生進行自學。
本書具有以下特色:
● 主題突出,緊緊圍繞作業系統的三大主題元素——虛擬化、並發和持久性。
● 以對話的方式引入背景,提出問題,進而闡釋原理,啟發動手實踐。
● 包含眾多「補充」和「提示」,拓展讀者知識面,增加趣味性。
● 使用真實代碼而不是偽代碼,讓讀者更加深入透徹地了解作業系統。
● 提供作業、模擬和項目等眾多學習方式,鼓勵讀者動手實踐。
● 為教師提供教學輔助資源。

2、UNIX作業系統設計

莫里斯·J.,巴赫(Maurice J.Bach) 著,陳葆鈺,王旭,柳純錄,馮雪山 譯

本書以UNIX系統為背景,全面、系統地介紹了UNIX作業系統內核的內部數據結構和算法。本書首先對系統內核結構做了簡要介紹,然後分章節描述了文件系統、進程調度和存儲管理,並在此基礎上討論了UNIX系統的問題,如驅動程序接口、進程間通信與網絡等。在每章之後,還給出了大量富有啟發性和實際意義的題目。

3、鳥哥的Linux私房菜 基礎學習篇 第四版

鳥哥 著

※ 鳥哥傾囊相授,內容由淺入深

書中包含了鳥哥從完全不懂Linux 到現在的所有學習歷程,鳥哥將這幾年來的所知所學傾囊相授,以淺顯易懂的文字帶領您進入Linux 的世界。

※ 按部就班,打好基礎學習的第 一步

本書分為五大部分,每部分都各具特色。內容涵蓋了Linux 的規劃與安裝,認識Linux 文件、目錄與磁碟格式,學習Shell 與Shell Scripts,Linux 用戶管理與Linux 系統管理等。依序學習,讓您奠定Linux 的基礎,跨出成功的第 一步。

※ 全新改版,提供您更新的技術

《鳥哥的Linux私房菜 基礎學習篇 第四版 》提供近期更新的技術,包括核心版本的升級建議,虛擬系統的操作,GPT 分割表格式處理,XFS 文件系統的實際操作使用,systemd 服務的管理,日誌格式的更新,grub2 開機管理程序的說明,nmcli 文字指令操作網絡參數的方式等,內容更加精彩!

4、Linux內核深度解析

余華兵 著

  • 基於ARM64架構的Linux 4.x內核
  • 大量圖例描述數據結構之間的關係和函數的執行流程
  • 結合代碼分析,以通俗化語言全面剖析Linux內核。

本書基於4.x版本的Linux內核,介紹了Linux內核的若干關鍵子系統的技術原理。本書主要內容包括內核的引導過程、內核管理和調度進程的技術原理、內核管理虛擬內存和物理內存的技術原理、內核處理異常和中斷的技術原理,以及系統調用的實現方式等。此外,本書還詳細講解了內核實現的各種保護臨界區的互斥技術,以及內核的文件系統。本書內容豐富,深入淺出,通過大量的圖例來描述數據結構之間的關係和函數的執行流程,並結合代碼分析,引導讀者閱讀和理解內核原始碼。

5、Linux就該這麼學

劉遄 著

  • 源自國內閱讀人數chao高的同名電子書,通俗易懂,簡單好學
  • bi讀的Linux系統與紅帽RHCE認證自學圖書,30餘家行業媒體齊聲推薦
  • 基於Linux系統RHEL 7編寫,通用於CentOS、Fedora等主流衍生版本
  • 隨書配套站點免費提供所需軟體工具、在線閱讀、擴展資料等多種增值服務

本書基於RHEL 7系統編寫,面向零基礎讀者,從Linux基礎知識講起,然後漸進式地提高內容難度,詳細講解Linux系統中各種服務的工作原理和配置方式,以匹配真實生產環境對運維人員的要求,突顯內容的實用性。本書每章都帶有大量的圖、表、命令示例以及課後習題,旨在增強讀者的理解能力並鞏固所學知識。

本書的配套站點www.linuxprobe.com還提供了書中用到的軟體和大量學習資料,以及答疑服務,為讀者切實入門Linux系統保駕護航。

6、Linux命令行大全

[美] William E.Shotts,Jr. 著,郭光偉,郝記生 譯

《Linux命令行大全》分為四部分。第1部分開始了對命令行基本語言的學習之旅,包括命令結構、文件系統的導引、命令行的編輯以及關於命令的幫助系統和使用手冊。第二部分主要講述配置文件的編輯,用於計算機操作的命令行控制。第三部分講述了從命令行開始執行的常規任務。類UNIX作業系統,比如Linux,包含了很多「經典的」命令行程序,這些程序可以高效地對數據進行操作。第四部分介紹了shell編程,這是一個公認的初級技術,並且容易學習,它可以使很多常見的系統任務自動運行。通過學習shell編程,讀者也可以熟悉其他程式語言的使用。

關鍵字: