课程大纲: 第1课 算法初步 知识点1: Why?What?How? 知识点2: 复杂度 知识点3: 均摊分析 知识点4: 最大子数组和 第2课 必知必会的数据结构 知识点1: 栈和队列 知识点2: 人工栈与系统栈初探 知识点3: 并查集 知识点4: 路径压缩 知识点5: 什么都能往里塞的哈希表 知识点6: 布隆过滤器 第3课 树/堆 知识点1: 背景知识 知识点2: 二叉树的前中后序遍历 知识点3: 二叉树的序列化和反序列化 知识点4: 表达树构造 知识点5: 最近公共祖先 知识点6: 堆的构造与应用 第4课 图论 知识点1: 图的定义(有向图,无向图) 知识点2: 拓扑排序 知识点3: 最短路(Floyd,Dijkstra,Bellmanford) 知识点4: 最小生成树 第5课 递归 知识点1: 快速排序 知识点2: 用递归打印数字 知识点3: N皇后问题及其扩展 知识点4: 排列组合问题 知识点5: 递归的优化 第6课 图搜索初探 知识点1: 遍历(深度优先 广度优先) 知识点2: 走迷宫 知识点3: N皇后问题 知识点4: 状态空间 知识点5: 迭代加深搜索 知识点6: 启发式搜索 第7课 动态规划 知识点1: 背景知识 知识点2: 最小/最大子数组 知识点3: 最小差 知识点4: 矩阵归零 知识点5: 跳跃游戏 知识点6: 加油站 第8课 贪心 知识点1: 递归本质 知识点2: 最优子结构 知识点3: 重叠子问题 知识点4: 万金油套路 知识点5: 手把手教你如何写DP 第9课 高并发/海量数据处理/笔试技巧 知识点1: 并发编程基础知识 知识点2: Map Reduce简介及常见面试问题 知识点3: 高并发系统设计常见问题 知识点4: 动静分离 知识点5: 同步变异步 知识点6: 缓存以及数据库优化 知识点7: 面试编程技巧 知识点8: 确认边界条件 知识点9: 先构造测试数据 知识点10: 编程风格 第10课 博弈论 概率 数论 知识点1: 博弈论定义 知识点2: 放围棋游戏 知识点3: 取石子游戏 知识点4: 概率定义 知识点5: 无穷级数 知识点6: 条件概率 知识点7: 贝叶斯公式和朴素贝叶斯 知识点8: 数轮初步 知识点9: 质因数分解 知识点10: 辗转相除 知识点11: 筛法 知识点12: Mod运算
|