5
回答
我是java的初学着,想学学数据结构,希望大家推荐本关于数据结构的好书,不胜感激~~~
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
我是java的初学着,想学学数据结构,希望大家推荐本关于数据结构的好书,不胜感激~~~
<无标签>
举报
梅飞雪舞
发帖于2年前 5回/765阅


大学计算机数据结构教材是 严蔚敏版的《数据结构》可以拿来入门。然后可以根据自己的实际情况来安排怎么样学习数据结构。很多人是看一遍书,然后在遇到算法之后再去实现它。在这里列出一些我知道的算法书籍,以供参考。

1. CLRS 算法导论
算法百科全书,只做了前面十几章的习题,便感觉受益无穷。

2. Algorithms 算法概论
短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好消息:习题很经典,难度也适中,只需花点点时间自己也都能做出来。不好也不坏的消息:我正在写习题的答案,已完成前三章,还剩九章约二百道题,顺利的话二个月之后发布。另有中文版名《算法概论》,我没看过,不知道翻译得怎么样。如果有心的话,还是尽量看原版吧,其实看原版与看中文版花费时间不会相差很大,因为大部分时间其实都花费在做习题上了。

3. Algorithm Design 算法设计
很经典的一本书,很久之前看的,遗憾的是现在除了就记得它很经典之外其它都忘光了。

4. SICP 计算机程序的构造和解释
六星之书无需多言,虽然这不是一本讲算法的书,但看完此书有助于你更深入的理解什么是递归。我一直很强调习题,看完此书后你至少应该做完前四章的太部分习题。否则那是你的遗憾,也是作者的遗憾。

5. Concrete Mathematics 具体数学
有人说看TAOCP之前应该先弄清楚这本书的内容,要真是如此的话那我恐怕是看不到TAOCP了。零零碎碎的看了一大半,很多东西都没有时间来好好消化。如果你是刚进大学不久的本科生,有着大把的可自由支配时间,那你幸运又幸福了,花上几个月时间好好的读一下此书吧,收获绝对大于你的期望值。

6. Introduction to The Design and Analysis of Algorithms 算法设计与分析基础
很有趣的一本算法书,有许多在别的书上找不到的趣题,看完此书绝对能让你大开眼界,实在是一本居家旅行,面试装逼的必备佳作。

7. 编程之美--微软技术面试心得
虽说是一本面试书,但如果把前面十几页扯掉的话,我更愿意把它看作是一本讲解题思维的算法小品。在书中,作者通常是给出一个平常解法,然后再一次又一次的优化改进,你可以很清楚的看到基本的算法设计思想是如何得到运用以解决实际问题的。如果你已经有了一些算法的基础,看完本书应该能使你的算法应用能力得到一定的提高。另外,本书生动有趣,也同样适合于初学者。

8. Fundamentals of Algorithmics 算法基础
是很经典的一本书。

9. How to solve it 怎样解题
二十世纪最伟大的数学思想家之一波利亚的力作,讲一般性的解题方法:怎么认识问题,怎么转换问题,怎么解决问题,如何在问题中得到启发,如何找到一个通往答案的方向。

10. Programming interviews exposed 程序员面试攻略
一本消遣之作,也有一些启发性的内容,而不单单是面试题解库。

11. Programming Pearls 编程珠玑
学习算法不仅需要像Alogrithms,算法导论这样的重量级的内功心法,像《编程之美》、《编程珠玑》这样的轻量级的轻功身法也必不可少。前些年网上不是很流行像“给你10亿个数,找到最大的n个”或者“给你10亿个数,找出现次数最多的那个数”之类的百度面试题吗?看了此书你就知道怎么解决了。相比于《编程之美》来说,本书中的示例技巧性略低一些,但是也更有实际应用价值一些。

12. 算法艺术与信息学竞赛
如果算法导论是九阳神功,那这本无疑就是九阴真经。本书是专为参加一些诸如ACM之类程序设计比赛的同学而写的,江湖人称“黑书”。里面讲的都是一些在编程比赛中常用的算法、数据结构,以及一些数论和计算几何等。我虽然并不搞竞赛,但也从此书中受益颇多。

13. An Introduction to Probability Theory and Its Applications

概率论很重要!


14. Numerical Analysis
这本的作者是Richard L. Burden,J. Douglas Faires
数值分析,讨论各种数值算法,比如插值、拟合、积分、微分方程的求解、线性和非线性方程组求解等。准备详细看。

15. TAOCP 计算机程序设计艺术
传说中的TAOCP,说的人多,看的人少。TAOCP四卷堪称是算法藏经阁中的易筋经或者是少林七十二绝技。天下武学,尽出少林,天下算法,尽出TAOCP也。这点你可以顺便翻开一本算法书看看他的引用文献就知道了。出了书以外许多视频也是值得学习的比如数据结构严蔚敏C语言版:http://edu.51cto.com/course/course_id-4725.html
--- 共有 1 条评论 ---
梅飞雪舞谢谢 ^_^ 2年前 回复

大数据就是这么任性第一季数据结构和算法
百度网盘地址:http://pan.baidu.com/s/1dE7a9bj 密码: jsz2

涉及内容;数据结构、算法、链表、队列、二叉搜索树、DAG、B+树、LSM树、堆排序、跳表、排序、哈希表、搜索引擎索引、数据库索引、文件索引、倒排索引、位图法、三路快速排序、多路归并排序、外部排序、连通图、平衡树

    这门课程是针对大数据工程师和云计算工程师的基础课程,同时也是所有计算机专业人士必须掌握的一门课程。如果不掌握数据结构和算法,你将难以掌握高效、专业的数据处理手段,更难以从容应对复杂的大数据处理场景。
课程主要内容:
1.数据结构和算法概述
2.数组、链表、队列、栈等线性表
3.二叉树、BST、AVL树及二叉树的递归与非递归遍历
4.B+树
5.跳表
6.图、图的存储、图的遍历
7.有向图、无向图、懒惰与积极的普利姆算法、克鲁斯卡尔算法及MST、单源最短路径问题及Dijkstra算法
8.并查集与索引式优先队列、二叉堆
9.遗传算法初步与TSP问题
10.内部排序(直接插入、选择、希尔、堆排序、快排、归并等)算法与实践中的优化
11.外部排序与优化(文件编码、数据编码、I/O方式与JVM特点、多线程、多路归并等)
12.哈希表、Trie树、倒排索引、分布式索引初步(Map-Reduce)

一、简介
第1讲:什么是数据结构?
第2讲:什么是算法?
 
二、线性表
第3讲:线性表(数组、链表、队列、栈)
第4讲:Linux work queue及JDK线程池
 
三、树
第5讲:非线性结构、树、二叉树
第6讲:平衡树、AVL树
第7讲:B+树与数据库索引
 
四、图
第8讲:图的概念与存储
第9讲:图的遍历
第10讲:最小生成树(MST)、Prim算法、Kruskal算法
第11讲:单源最短路径与Dijkstra算法
第12讲:用遗传算法近似求解TSP问题
 
五:排序
第13讲:选择排序、插入排序、希尔排序
第14讲:堆排序、优先队列
第15讲:快速排序及优化
第16讲:归并排序及优化
第17讲:归并排序与外部排序
第18讲:外部排序的优化及延伸
 
六:查找
第19讲:哈希表、二分查找、Trie树、Ternery树、搜索引擎与倒排索引、集中式索引与分布式索引、Map-Reduce初步

--- 共有 1 条评论 ---
梅飞雪舞多谢 7个月前 回复
顶部