书籍简介
第一章 字符串
1.0 本章导读
1.1 旋转字符串
1.2 字符串包含
1.3 字符串转换成整数
1.4 回文判断
1.5 最长回文子串
1.6 字符串的全排列
1.10 本章习题
第二章 数组
2.0 本章导读
2.1 寻找最小的 k 个数
2.2 寻找和为定值的两个数
2.3 寻找和为定值的多个数
2.4 最大连续子数组和
2.5 跳台阶
2.6 奇偶排序
2.7 荷兰国旗
2.8 矩阵相乘
2.9 完美洗牌
2.10 K个最小和 (UVA 11997 K Smallest Sums)
2.15 本章习题
第三章 树
3.0 本章导读
3.1 红黑树
3.2 B树
3.3 最近公共祖先LCA
3.5 R树:处理空间存储问题
3.10 本章习题
第四章 查找匹配
4.1 有序数组的查找
4.2 行列递增矩阵的查找
4.3 出现次数超过一半的数字
第五章 动态规划
5.0 本章导读
5.1 最大连续乘积子串
5.2 字符串编辑距离
5.3 格子取数
5.4 交替字符串
5.6 最长递增子序列
5.10 本章习题
第六章 海量数据处理
6.0 本章导读
6.1 关联式容器
6.2 分而治之
6.3 simhash算法
6.4 外排序
6.5 MapReduce
6.6 多层划分
6.7 Bitmap
6.8 Bloom filter
6.9 Trie树
6.10 数据库
6.11 倒排索引
6.15 本章习题
第七章 机器学习
7.1 K 近邻算法
7.2 支持向量机
附录 更多题型
附录A 语言基础
附录B 概率统计
附录C 智力逻辑
附录D 系统设计
附录E 操作系统
附录F 网络协议
5.0 本章导读 - 《程序员编程艺术:面试和算法心得》 - 光年文档管理系统(Light Year Doc)
网站首页
5.0 本章导读
学习一个算法,先知其解决什么,后知其解决策略,最后了解彼此之间的联系。如图算法中, - ①广搜:一层一层往外遍历,寻找最短路径,策略:队列, - ②最小生成树:最小代价连接所有点,策略:贪心(Prim:贪心+权重队列), - ③Dijkstra:寻找单源最短路径,策略:贪心+非负权重队列, - ④Floyd:多结点对的最短路径,策略:动态规划。 而贪心和动态规划之间的联系是,贪心:最优子结构+局部最优,动态规划:最优独立重叠子结构+全局最优。故一句话理解动态规划则是枚举所有状态,然后剪枝,找到最优状态,保存,以后再遇到重叠的子问题,从保存的状态中搜索(俗称记忆化搜索)。
上一篇:
第五章 动态规划
下一篇:
5.1 最大连续乘积子串