Files
Learn-Algorithms/Algorithm Job Interview/README.md
T

107 lines
1.5 KiB
Markdown
Raw Normal View History

2014-05-13 17:10:46 +08:00
2015-11-28 14:26:36 +08:00
这部分内容是算法问题合集,题目大多来自网络和书籍。我做了下简单的整理,很多题做了一些思路标记。
2014-05-13 17:10:46 +08:00
### 字符串
计算机处理的数据除了数值,就是字符。字符处理的常见问题包括:
2015-11-28 21:40:11 +08:00
* 单词反转
* 回文判断
* 字符串的压缩
* 字符串的排列和组合
* 字符串比较
* 子串
2014-05-13 17:10:46 +08:00
2015-11-28 21:40:11 +08:00
2015-11-28 14:26:36 +08:00
### 链表
2015-11-28 21:40:11 +08:00
链表处理的常见问题包括:
2015-11-28 21:12:00 +08:00
* 链表反转
* 链表中是否有环
* 删除链表中的p节点,在p节点前面插入节点q, 要求O(1)复杂度
* 2个链表相交
* 2个链表合并
2015-11-28 14:26:36 +08:00
2015-11-28 21:45:54 +08:00
### 栈和队列
2015-11-28 14:26:36 +08:00
2015-11-28 21:45:54 +08:00
这是最基本数据结构,相对容易理解。
2015-11-28 14:26:36 +08:00
2015-11-28 21:12:00 +08:00
### 数值问题
2014-05-13 17:10:46 +08:00
2015-11-28 21:40:11 +08:00
这部分都是一些数学几何计算方面的问题。 主要有:
2014-05-13 17:10:46 +08:00
2015-11-28 21:40:11 +08:00
* 位运算
* 随机数
* 大数问题
2014-05-13 17:10:46 +08:00
2015-11-28 21:12:00 +08:00
### 数组数列问题
2015-11-28 21:40:11 +08:00
这部分的问题都集中在数据集合上。主要有:
* 数组排序
* top-k
* 子数组
* 多个数组合并,交集
2015-11-28 21:12:00 +08:00
### 矩阵
2015-11-28 21:40:11 +08:00
这部分都是矩阵和二维数组相关的问题。
2015-11-28 21:12:00 +08:00
### 二叉树
2014-05-13 17:10:46 +08:00
2015-11-28 21:40:11 +08:00
* 遍历
* 翻转
* 子树
2014-05-15 18:54:16 +08:00
2014-05-13 17:10:46 +08:00
### 图
2015-11-28 21:45:54 +08:00
图相关的问题
2014-05-13 17:10:46 +08:00
2014-05-15 18:54:16 +08:00
2014-05-13 17:10:46 +08:00
### 海量数据处理
2015-11-28 21:12:00 +08:00
海量处理问题常用的分析解决问题的思路是:
2015-12-11 19:27:48 +08:00
* Hash映射/分而治之
* Bitmap
* Bloom filter(布隆过滤器)
* Trie树
* 数据库索引
* 倒排索引(Inverted Index)
2015-11-28 21:45:54 +08:00
* 双层桶划分
* 外排序
2015-12-11 19:27:48 +08:00
* simhash算法
* 分布处理之Mapreduce
2015-11-28 21:12:00 +08:00
### 智力思维训练
2014-05-13 17:10:46 +08:00
2015-11-28 14:42:38 +08:00
###【剑指offer】
2015-11-28 14:26:36 +08:00
《剑指offer》里面给出了50到高质量的算法问题,很有学习的必要。
2015-11-28 14:42:38 +08:00
###【编程之美】
2015-11-28 14:26:36 +08:00
2014-05-13 17:10:46 +08:00