算法、数据结构这类知识点真的需要天分。本人不是算法工程师,也做不了算法工程师。总是在见识到一些算法大神的优雅实现后,感叹于自己是多么的弱智,同样是写代码,我写的是什么垃圾!
这个项目的初衷,是将工作中经常会接触到的一些数据结构和算法整理归纳。人总是要有理想的,要想少写垃圾的代码,必须夯实算法的基础。路漫漫兮其修远,吾将上下而求索。
- 寻找数组的中心索引
- 至少是其他数字两倍的最大数
- 加一
- 对角线遍历
- 螺旋矩阵
- 杨辉三角
- 杨辉三角 II
- 数组拆分 I
- 两数之和 II - 输入有序数组
- 移除元素
- 最大连续 1 的个数
- 长度最小的子数组
- 旋转数组
- 删除排序数组中的重复项
- 移动零
- 书籍
- 刷题必备
- 《剑指 offer》
- 《编程之美》
- 《编程之法:面试和算法心得》
- 《算法谜题》 都是思维题
- 基础
- 算法设计
- 《算法设计与分析基础(第 3 版)》
- 《Algorithm Design Manual》 - 算法设计手册 红皮书
- 《算法导论》 - 是一本对算法介绍比较全面的经典书籍
- 《Algorithms on Strings,Trees and Sequences》
- 《Advanced Data Structures》 - 各种诡异高级的数据结构和算法 如元胞自动机、斐波纳契堆、线段树 600 块
- 刷题必备
- 参考链接和学习网站
- https://github.com/TheAlgorithms/Java
- https://github.com/nonstriater/Learn-Algorithms
- https://github.com/trekhleb/javascript-algorithms
- https://github.com/kdn251/interviews/blob/master/README-zh-cn.md#%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84
- July 博客
- 《数学建模十大经典算法》
- 《数据挖掘领域十大经典算法》
- 《十道海量数据处理面试题》
- 《数字图像处理领域的二十四个经典算法》
- 《精选微软等公司经典的算法面试 100 题》
- The-Art-Of-Programming-By-July
- 微软面试 100 题
- 程序员编程艺术
- 基本算法演示
- 编程网站
- 其它
- 高级数据结构和算法 北大教授张铭老师在 coursera 上的课程。完成这门课之时,你将掌握多维数组、广义表、Trie 树、AVL 树、伸展树等高级数据结构,并结合内排序、外排序、检索、索引有关的算法,高效地解决现实生活中一些比较复杂的应用问题。当然 coursera 上也还有很多其它算法方面的视频课程。
- 算法设计与分析 Design and Analysis of Algorithms 由北大教授 Wanling Qu 在 coursera 讲授的一门算法课程。首先介绍一些与算法有关的基础知识,然后阐述经典的算法设计**和分析技术,主要涉及的算法设计技术是:分治策略、动态规划、贪心法、回溯与分支限界等。每个视频都配有相应的讲义(pdf 文件)以便阅读和复习。
| 技术文档归档 | 算法和数据结构教程系列 |