Files
Learn-Algorithms/Algorithm Job Interview/README.md
T
2017-04-01 17:36:03 +08:00

107 lines
1.5 KiB
Markdown

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