當前位置:
首頁 > 科技 > 有關數據結構的幾本書,讀完一半算你贏

有關數據結構的幾本書,讀完一半算你贏

在大學生群體中,廣泛流傳著這麼一個段子,傳說中有一棵樹,叫高數,上面掛了很多人。

但是計算機專業的同學表示,呵呵。

旁友,數據結構聽過伐?

這門課可以說讓不少人聞風喪膽,考試的時候不求高分,低空飄過就算菩薩保佑。

然而在國外一個叫openprocessing的網站上,有一個叫FAL的作者,在他手下,平時書中總是透著一股高冷范兒的數據結構變得肥腸軟萌。

棧是這樣的

集合變成了這樣

圖是醬嬸兒的

表則是這樣的

所以你看數據結構其實很可愛嘛,但人家除了擁有一副好看的皮囊外,也有一顆有趣的靈魂啊!

在Quora上有一個人問大家:「自從你們學了數據結構後,生活有什麼變化嘛?」

一眾計算機大神的回答可以說是很逗比了——我覺得我的整個世界都變了!!!

去覓食的路上,我們那叫A *搜索演算法

覓食過程中需要排隊,我們那叫隊列

隊伍中看見一個好看的小姐姐?這叫線性搜索

購物車裡想買買買的東西太多,但是錢不夠,只能選最喜歡的辣一個!這叫優先順序隊列

……

當然最重要的一點是,自從學了數據結構,總覺得路上的樹長得哪裡不太對……

嚯,學了數據結構的你們了不起哦?看世界的方式都跟別人不一樣。

豈止哦,程序員們還能改變別人的世界。

數據結構有多神奇呢?

「演算法+數據結構=程序」這種經典公式大家都老生常談啦。

「語言只是工具,是演算法和數據結構的載體。」這種話聽得耳朵都要起繭子了。

我們只上最實際的部分!

不管你用啥語言,代碼寫得有多漂亮,客戶爸爸們都只關心,這個東西到底好不好用,速度怎麼樣。

聽起來好扎心是不是。

所以這個時候,數據結構的運用就顯得非常重要了。

只有熟知各種數據結構,才能在合適的地方做到有條不紊的判斷,讓客戶爸爸們滿意,不至於因為後期龐大的數據拖垮運算,從而搞得一臉懵逼。

所以優越的數據框架背後,是「猜畫小歌」黑科技一樣的魔法,是導航地圖快速計算路程的最優方案,是電商網站方便查閱的購買訂單。

從上到下,從裡到外,數據結構就是如此拉風,又美麗又實用。而那些掌握了數據結構的程序員們,就站在IT界食物鏈的頂端啊!!!

所以有關數據結構的書單都列在這裡啦,看完這些書,可能真的會腳踩風火輪上天吧。

《數據結構與演算法分析》

[著] Mark Allen Weiss

[譯] 馮舜璽

機械工業出版社

凡是學到數據結構沒辦法跳開的一本書,被譽為「20世紀頂尖的30部計算機著作之一」。

所涵蓋的知識點很全面,幾乎涉及到了數據結構方方面面的知識,既涉及到了經典的演算法結構,比如貪婪演算法、分治演算法等,也涵蓋了諸如紅黑樹、k-d樹等一些高級數據結構。難能可貴的是與豐富的內容相比極為幹練的篇幅,網友甚至評論說:「這本書最大的優點就是薄。」

書中對棧、隊列、表等數據結構做了簡單介紹,然後將重點放在了這些數據結構的應用和數學證明上,可以帶你快速地入門又不失深度。書中也涉及到了一部分演算法,但篇幅不是很多,也很簡單。

課後習題部分是精華所在,通過親自上手實踐操作代碼,可以更有效地鞏固數據結構相關的知識,加強理解,畢竟紙上得來終覺淺,絕知此事要躬行。

閱讀本書需要具備一定的中級程序知識,以及離散數學的一些背景知識。

《資料庫系統概念》

[著] Abraham Silberschatz / Henry F. Korth / S. Sudarshan

[譯者] 楊冬青 / 馬秀莉 / 唐世渭

機械工業出版社

有關資料庫的一部經典之作,全方位講解資料庫概念,哪怕是一些容易被忽略的理論基礎也可以在裡面找到,可以對資料庫的相關知識做到系統性地理解和掌握。

儘管是一部著重理論方面的書,但作者在概念之外增加了事例模型說明,有概念有圖,也有具體的設計事例,抽絲剝繭式的講解生動形象,在掌握基礎概念的同時,又能理解資料庫背後的設計邏輯。

很可貴的是,不論你是即將入門的初學者,還是資料庫領域的專業人士,都可以在這本書中獲得幫助。對於初學者來說,它足夠細緻與生動,對於高階和專業人士來說,又會常讀常新。

《現代操作系統》

[著] Andrew S·Tanenbaum

[譯] 陳向群 / 馬洪兵

機械工業出版社

名字很正經,內容很有趣,文風很詼諧。

對於從小就開始接觸計算機的年輕一代來說,Windows、Linux、塞班這些系統並不陌生。這本書除了面向計算機的專業人士外,也很適合那些平時沒事喜歡捯飭軟體硬體的電腦愛好者。

作者是一個講解高手,書中集中討論了我們熟知的這些操作系統的基本原理,同時還包含了有關計算機安全、多媒體操作系統、掌上計算機操作系統等方面的內容。儘管理論知識多一些,但書中配有相關插圖,以及好玩的小案例等,所以讀起來很輕鬆。

這些系統幾乎是伴隨我們長大,窺探它們歷史的脈絡和背後的神奇也是一種很奇妙的感覺。相信看完這本書後,這個對於理解計算機這個我們離不開的小夥伴可以說是幫助很大,恰如豆瓣一位網友所說:「不讀這本書你還以為操作系統是什麼怪物呢。」

《計算機網路》

[著] James F. Kurose / Keith W. Ross

[譯] 陳鳴

機械工業出版社

讀完這本書後,你會發現網路沒有那麼難。

這本書最大的特色在於,它是直接從貼近我們生活的應用層開始講起,用相當生動的例子進行講解,層層剖析到背後的物理層、運輸層,非常適合網路入門者,可以初步建立起計算機網路的系統知識。

此外,國立清華大學還開通了這本書的公開課

(http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=13&)

有相關需求的同學也可以找來一起看。

《計算機程序的構造和解釋》

[著] Harold Abelson / Gerald Jay Sussman / Julie Sussman

[譯] 裘宗燕

機械工業出版社

MIT計算機系的教材,在IT人心中享有定冠詞the的一本神書——The Book。

書名已經概括了這本書的內容——前三部分講程序的構造,後兩部分進行解釋,整體分為過程抽象、數據抽象和語言抽象,從實用的角度講如何用基本的概念解決複雜的問題,對於那些喜歡編程的人來說,這本書可以帶你領略真正的編程之美。

MIT還有這本書的配套講解視頻

(http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/)。

《編譯原理》

[著] Alfred V. Aho / Monica S.Lam / Ravi Sethi / Jeffrey D. Ullman

[譯] 趙建華 / 鄭滔 / 戴新宇

機械工業出版社

大名在外,江湖人稱「龍書」。

在編譯方面的書中獨領風騷,廣而深地從現實的小例子引出編譯器方面的諸多理論,以至於重版多年後還可以在書中找到相當豐富的理論支撐。相比於第一版,第二版中又增加了有關編譯優化的內容,對於想要全方位掌握和繼續加強鞏固編譯原理的人來說,龍書是不二選擇。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

PaaS上的區塊鏈—機遇、挑戰與創新
開發者口述:自打我們上了迅雷的船……

TAG:InfoQ |