|
1 | 1 | # 算法和数据结构 |
| 2 | + |
| 3 | +## 数据结构 |
| 4 | + |
| 5 | +> `数据结构` 是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 |
| 6 | +> |
| 7 | +> 记为:`Data_Structure=(D,R)`。其中 D 是数据元素的集合,R 是该集合中所有元素之间的关系的有限集合。 |
| 8 | +
|
| 9 | +- **常用结构** |
| 10 | + - [数组](data-structure/array.md) |
| 11 | + - [栈](data-structure/stack.md) |
| 12 | + - [队列](data-structure/queue.md) |
| 13 | + - [链表](data-structure/list.md) |
| 14 | + - [树](data-structure/tree) |
| 15 | + - [图](data-structure/graph.md) |
| 16 | + - [堆](data-structure/heap.md) |
| 17 | + - [散列表](data-structure/hash.md) |
| 18 | +- **结构算法** |
| 19 | + - [查找](data-structure/search) |
| 20 | + - [排序](data-structure/sort) |
| 21 | + |
| 22 | +## 学习资源 |
| 23 | + |
| 24 | +### 书 |
| 25 | + |
| 26 | +#### 刷题必备 |
| 27 | + |
| 28 | +- 《剑指 offer》 |
| 29 | +- 《编程之美》 |
| 30 | +- 《编程之法:面试和算法心得》 |
| 31 | +- 《算法谜题》 都是思维题 |
| 32 | + |
| 33 | +#### 基础 |
| 34 | + |
| 35 | +- 《[编程珠玑(第 2 版)](https://www.amazon.cn/gp/product/B00SFZH0DC/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00SFZH0DC&linkCode=as2&tag=vastwork-23)》 |
| 36 | +- 《[编程珠玑(续)](https://www.amazon.cn/gp/product/B0150BMQDM/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B0150BMQDM&linkCode=as2&tag=vastwork-23)》 |
| 37 | +- 《[数据结构与算法分析 : C++描述(第 4 版)](https://www.amazon.cn/gp/product/B01LDG2DSG/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B01LDG2DSG&linkCode=as2&tag=vastwork-23)》 |
| 38 | +- 《[数据结构与算法分析 : C 语言描述(第 2 版)](https://www.amazon.cn/gp/product/B002WC7NGS/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B002WC7NGS&linkCode=as2&tag=vastwork-23)》 |
| 39 | +- 《[数据结构与算法分析 : Java 语言描述(第 2 版)](https://www.amazon.cn/gp/product/B01CNP0CG6/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B01CNP0CG6&linkCode=as2&tag=vastwork-23)》 |
| 40 | +- 《[算法(第 4 版)](https://www.amazon.cn/gp/product/B009OCFQ0O/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B009OCFQ0O&linkCode=as2&tag=vastwork-23)》- 这本近千页的书只有 6 章,其中四章分别是排序,查找,图,字符串,足见介绍细致 |
| 41 | + |
| 42 | +#### 算法设计 |
| 43 | + |
| 44 | +- 《[算法设计与分析基础(第 3 版)](https://www.amazon.cn/gp/product/B00S4HCQUI/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00S4HCQUI&linkCode=as2&tag=vastwork-23)》 |
| 45 | +- 《算法引论》 - 告诉你如何创造算法 断货 |
| 46 | +- 《Algorithm Design Manual》 - 算法设计手册 红皮书 |
| 47 | +- [《算法导论》](https://www.amazon.cn/gp/product/B00AK7BYJY/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00AK7BYJY&linkCode=as2&tag=vastwork-23) - 是一本对算法介绍比较全面的经典书籍 |
| 48 | +- 《Algorithms on Strings,Trees and Sequences》 |
| 49 | +- 《Advanced Data Structures》 - 各种诡异高级的数据结构和算法 如元胞自动机、斐波纳契堆、线段树 600 块 |
| 50 | + |
| 51 | +### 参考链接和学习网站 |
| 52 | + |
| 53 | +- https://github.com/nonstriater/Learn-Algorithms |
| 54 | +- https://github.com/trekhleb/javascript-algorithms |
| 55 | +- https://github.com/kdn251/interviews/blob/master/README-zh-cn.md#%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84 |
| 56 | +- [July 博客](http://blog.csdn.net/v_july_v) |
| 57 | + - 《数学建模十大经典算法》 |
| 58 | + - 《数据挖掘领域十大经典算法》 |
| 59 | + - 《十道海量数据处理面试题》 |
| 60 | + - 《数字图像处理领域的二十四个经典算法》 |
| 61 | + - 《精选微软等公司经典的算法面试 100 题》 |
| 62 | +- [The-Art-Of-Programming-By-July](https://github.com/julycoding/The-Art-Of-Programming-By-July) |
| 63 | +- [微软面试 100 题](http://blog.csdn.net/column/details/ms100.html) |
| 64 | +- [程序员编程艺术](http://blog.csdn.net/v_JULY_v/article/details/6460494) |
| 65 | + |
| 66 | +### 基本算法演示 |
| 67 | + |
| 68 | +- <http://sjjg.js.zwu.edu.cn/SFXX/sf1/sfys.html> |
| 69 | +- <http://www.cs.usfca.edu/~galles/visualization/Algorithms.html> |
| 70 | + |
| 71 | +### 编程网站 |
| 72 | + |
| 73 | +- [leetcode](http://leetcode.com/) |
| 74 | +- [openjudge](http://openjudge.cn/) 开放在线程序评测平台,可以创建自己的 OJ 小组 [九度 OJ](http://ac.jobdu.com/index.php) |
| 75 | +- 这有个[ACM 训练方案](http://www.java3z.com/cwbwebhome/article/article19/res041.html) |
| 76 | + |
| 77 | +### 其它 |
| 78 | + |
| 79 | +- [高级数据结构和算法](https://www.coursera.org/learn/gaoji-shuju-jiegou/) 北大教授张铭老师在 coursera 上的课程。完成这门课之时,你将掌握多维数组、广义表、Trie 树、AVL 树、伸展树等高级数据结构,并结合内排序、外排序、检索、索引有关的算法,高效地解决现实生活中一些比较复杂的应用问题。当然 coursera 上也还有很多其它算法方面的视频课程。 |
| 80 | +- [算法设计与分析 Design and Analysis of Algorithms](https://class.coursera.org/algorithms-001/lecture) 由北大教授 Wanling Qu 在 coursera 讲授的一门算法课程。首先介绍一些与算法有关的基础知识,然后阐述经典的算法设计思想和分析技术,主要涉及的算法设计技术是:分治策略、动态规划、贪心法、回溯与分支限界等。每个视频都配有相应的讲义(pdf 文件)以便阅读和复习。 |
0 commit comments