|
1 | | -# Algorithm Ttutorial |
| 1 | +# algorithm-tutorial |
2 | 2 |
|
| 3 | +> 算法、数据结构这类知识点真的需要天分。本人不是算法工程师,也做不了算法工程师。总是在见识到一些算法大神的优雅实现后,感叹于自己是多么的弱智,同样是写代码,我写的是什么垃圾! |
| 4 | +> |
| 5 | +> 这个项目的初衷,是将工作中经常会接触到的一些数据结构和算法整理归纳。人总是要有理想的,要想少写垃圾的代码,必须夯实算法的基础。路漫漫兮其修远,吾将上下而求索。 |
| 6 | +> |
3 | 7 | > 🔁 项目同步维护在 [github](https://github.com/dunwu/algorithm-tutorial) | [gitee](https://gitee.com/turnon/algorithm-tutorial) |
4 | 8 | > |
5 | 9 | > 📖 [电子书](https://dunwu.github.io/algorithm-tutorial/) | [电子书(国内)](http://turnon.gitee.io/algorithm-tutorial/) |
6 | 10 |
|
7 | | -## 笔记 |
| 11 | +## 原理 |
| 12 | + |
| 13 | +### 数据结构 |
| 14 | + |
| 15 | +- 线性表 |
| 16 | + - [数组](docs/data-structure/array.md) |
| 17 | + - [栈](docs/data-structure/stack.md) |
| 18 | + - [队列](docs/data-structure/queue.md) |
| 19 | + - [链表](docs/data-structure/list.md) |
| 20 | +- [树](docs/data-structure/tree/README.md) |
| 21 | + - [二叉树](docs/data-structure/tree/binary-tree.md) |
| 22 | + - [红黑树](docs/data-structure/tree/red-black-tree.md) |
| 23 | + - B 树 |
| 24 | + - B+ 树 |
| 25 | +- [图](docs/data-structure/graph.md) |
| 26 | +- [堆](docs/data-structure/heap.md) |
| 27 | +- [散列表](docs/data-structure/hash.md) |
| 28 | + |
| 29 | +### 算法 |
8 | 30 |
|
9 | | -- [查找](docs/search/README.md) |
10 | | - - [线性表的查找](docs/search/linear-list-search.md) |
11 | | - - [哈希表的查找](docs/search/hash-search.md) |
12 | | -- [排序](docs/sort/README.md) |
13 | | - - [冒泡排序](docs/sort/bubble-sort.md) |
14 | | - - [快速排序](docs/sort/quick-sort.md) |
15 | | - - [直接插入排序](docs/sort/insert-sort.md) |
16 | | - - [希尔排序](docs/sort/shell-sort.md) |
17 | | - - [简单选择排序](docs/sort/selection-sort.md) |
18 | | - - [堆排序](docs/sort/heap-sort.md) |
19 | | - - [归并排序](docs/sort/merge-sort.md) |
20 | | - - [基数排序](docs/sort/radix-sort.md) |
| 31 | +- [排序](docs/algorithm/sort.md) |
| 32 | +- [线性表的查找](docs/algorithm/linear-list-search.md) |
| 33 | +- [哈希表的查找](docs/algorithm/hash-search.md) |
21 | 34 |
|
22 | | -## 源码 |
| 35 | +## 刷题 |
23 | 36 |
|
24 | 37 | ### 数组 |
25 | 38 |
|
|
47 | 60 | - [反转字符串](https://github.com/dunwu/algorithm/blob/master/codes/data-structure/src/main/java/io/github/dunwu/ds/str/ReverseString.java) |
48 | 61 | - [反转字符串中的单词](https://github.com/dunwu/algorithm/blob/master/codes/data-structure/src/main/java/io/github/dunwu/ds/str/ReverseWordsInAString.java) |
49 | 62 | - [反转字符串中的单词 III ](https://github.com/dunwu/algorithm/blob/master/codes/data-structure/src/main/java/io/github/dunwu/ds/str/ReverseWordsInAString3.java) |
| 63 | + |
| 64 | +## 📚 学习资源 |
| 65 | + |
| 66 | +- **书籍** |
| 67 | + - 刷题必备 |
| 68 | + - 《剑指 offer》 |
| 69 | + - 《编程之美》 |
| 70 | + - 《编程之法:面试和算法心得》 |
| 71 | + - 《算法谜题》 都是思维题 |
| 72 | + - 基础 |
| 73 | + - 《[编程珠玑(第 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)》 |
| 74 | + - 《[编程珠玑(续)](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)》 |
| 75 | + - 《[数据结构与算法分析 : 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)》 |
| 76 | + - 《[数据结构与算法分析 : 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)》 |
| 77 | + - 《[数据结构与算法分析 : 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)》 |
| 78 | + - 《[算法(第 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)》 |
| 79 | + - 算法设计 |
| 80 | + - 《[算法设计与分析基础(第 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)》 |
| 81 | + - 《Algorithm Design Manual》 - 算法设计手册 红皮书 |
| 82 | + - [《算法导论》](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) - 是一本对算法介绍比较全面的经典书籍 |
| 83 | + - 《Algorithms on Strings,Trees and Sequences》 |
| 84 | + - 《Advanced Data Structures》 - 各种诡异高级的数据结构和算法 如元胞自动机、斐波纳契堆、线段树 600 块 |
| 85 | +- 参考链接和学习网站 |
| 86 | + - https://github.com/nonstriater/Learn-Algorithms |
| 87 | + - https://github.com/trekhleb/javascript-algorithms |
| 88 | + - https://github.com/kdn251/interviews/blob/master/README-zh-cn.md#%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84 |
| 89 | + - [July 博客](http://blog.csdn.net/v_july_v) |
| 90 | + - 《数学建模十大经典算法》 |
| 91 | + - 《数据挖掘领域十大经典算法》 |
| 92 | + - 《十道海量数据处理面试题》 |
| 93 | + - 《数字图像处理领域的二十四个经典算法》 |
| 94 | + - 《精选微软等公司经典的算法面试 100 题》 |
| 95 | + - [The-Art-Of-Programming-By-July](https://github.com/julycoding/The-Art-Of-Programming-By-July) |
| 96 | + - [微软面试 100 题](http://blog.csdn.net/column/details/ms100.html) |
| 97 | + - [程序员编程艺术](http://blog.csdn.net/v_JULY_v/article/details/6460494) |
| 98 | +- 基本算法演示 |
| 99 | + - <http://sjjg.js.zwu.edu.cn/SFXX/sf1/sfys.html> |
| 100 | + - <http://www.cs.usfca.edu/\~galles/visualization/Algorithms.html> |
| 101 | +- 编程网站 |
| 102 | + - [leetcode](http://leetcode.com/) |
| 103 | + - [openjudge](http://openjudge.cn/) |
| 104 | +- 其它 |
| 105 | + - [高级数据结构和算法](https://www.coursera.org/learn/gaoji-shuju-jiegou/) 北大教授张铭老师在 coursera 上的课程。完成这门课之时,你将掌握多维数组、广义表、Trie 树、AVL 树、伸展树等高级数据结构,并结合内排序、外排序、检索、索引有关的算法,高效地解决现实生活中一些比较复杂的应用问题。当然 coursera 上也还有很多其它算法方面的视频课程。 |
| 106 | + - [算法设计与分析 Design and Analysis of Algorithms](https://class.coursera.org/algorithms-001/lecture) 由北大教授 Wanling Qu 在 coursera 讲授的一门算法课程。首先介绍一些与算法有关的基础知识,然后阐述经典的算法设计思想和分析技术,主要涉及的算法设计技术是:分治策略、动态规划、贪心法、回溯与分支限界等。每个视频都配有相应的讲义(pdf 文件)以便阅读和复习。 |
| 107 | + |
| 108 | +## 🚪 传送门 |
| 109 | + |
| 110 | +| [技术文档归档](https://github.com/dunwu/blog) | [算法和数据结构教程系列](https://github.com/dunwu/algorithm-tutorial) | |
0 commit comments