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

Posted InfoQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关数据结构的几本书,读完一半算你赢相关的知识,希望对你有一定的参考价值。

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

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

旁友,数据结构听过伐?

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

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

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

机械工业出版社

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

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

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

程序员成长攻略系列:

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



以上是关于有关数据结构的几本书,读完一半算你赢的主要内容,如果未能解决你的问题,请参考以下文章

13种Shell逻辑与算术,能写出5种算你赢!

专业书的阅读

我最近读了什么书?(随时更新)

如何使用Spring Cloud Config进行分布式配置,知道一个算你牛

我入门的几本书

QT中如何判断COM口数据已经读完