57

有关数据结构的几本书,读完一半算你赢

 5 years ago
source link: http://www.10tiao.com/html/46/201807/2651008418/3.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在大学生群体中,广泛流传着这么一个段子,传说中有一棵树,叫高数,上面挂了很多人。

但是计算机专业的同学表示,呵呵。

旁友,数据结构听过伐?

这门课可以说让不少人闻风丧胆,考试的时候不求高分,低空飘过就算菩萨保佑。

然而在国外一个叫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 

[译] 赵建华 / 郑滔 / 戴新宇 

机械工业出版社

大名在外,江湖人称“龙书”。

在编译方面的书中独领风骚,广而深地从现实的小例子引出编译器方面的诸多理论,以至于重版多年后还可以在书中找到相当丰富的理论支撑。相比于第一版,第二版中又增加了有关编译优化的内容,对于想要全方位掌握和继续加强巩固编译原理的人来说,龙书是不二选择。

程序员成长攻略系列:

教你调教代码:每看完这一本书,就有一个码农消失

算法打怪指南:辛苦编码好几年,一朝栽在算法前

以上所有书均在“极客商城”享受限时全网最低价,点击“阅读原文”即可进入商城进入购买哦。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK