基本算法思想
贪心算法
(1)建立数学模型来描述问题。
(2)把求解的问题分成若干个子问题。
(3)对每一子问题求解,得到子问题的局部最优解。
(4)把子问题的局部最优解合成原来问题的一个解。
动态规划
用一句话解释动态规划就是 “记住你之前做过的事”,如果更准确些,其实是 “记住你之前得到的答案”。
一般解决动态规划问题,分为四个步骤,分别是
- 问题拆解,找到问题之间的具体联系
- 状态定义
- 递推方程推导
- 实现
分治算法
分治法在每一层递归上都有三个步骤:
(1)分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题。
(2)求解:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题。
(3)合并:将各个子问题的解合并为原问题的解。
作者:程序员吴师兄呀
3、排序算法
4、搜索
5、查找
6、字符串匹配
7、线性表
8、散列表
什么是哈希洪水攻击(Hash-Flooding Attack)?
9、树
面试官:为什么 MySQL 的索引要使用 B+ 树,而不是其它树?比如 B 树?
10、图
【转】知乎