有关数据结构的几本书,读完一半算你赢
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
[译] 赵建华 / 郑滔 / 戴新宇
机械工业出版社
大名在外,江湖人称“龙书”。
在编译方面的书中独领风骚,广而深地从现实的小例子引出编译器方面的诸多理论,以至于重版多年后还可以在书中找到相当丰富的理论支撑。相比于第一版,第二版中又增加了有关编译优化的内容,对于想要全方位掌握和继续加强巩固编译原理的人来说,龙书是不二选择。
程序员成长攻略系列:
以上所有书均在“极客商城”享受限时全网最低价,点击“阅读原文”即可进入商城进入购买哦。
以上是关于有关数据结构的几本书,读完一半算你赢的主要内容,如果未能解决你的问题,请参考以下文章