第1周
第一周: Java与算法基础入门
Java 语法基础 Introduction to Java
变量,二进制 Variable, Binary
变量,数组,循环 Variable, Array, Loop
复杂度分析 Analysis of Time/Space Complexity
IDE使用与程序的调试 Using IDE and Debugging
第2周
第二周:函数,字符串处理,二分法,排序算法入门
函数 Function
简单的排序算法 Simple Sort Algorithm
字符串 String
二分法 Binary Search I
二分法 Binary Search II
第3周
第三周:面向对象,类,链表,递归入门
面向对象编程入门 Object Oriented Programming
链表入门 Linked List Basics
链表深入 Linked List Problems
递归入门 Recursion
二分法深入&扫描线入门 Binary Search & Sweep-Line
第4周
第四周:二叉树,排序二叉树,遍历算法,分治算法
二叉树入门 Binary Tree Basics
二叉树上的遍历算法 Binary Tree Travesal
二分查找树 Binary Search Tree
二叉树上的分治算法 Divide and Conquer in Binary Tree I
二叉树上的分治算法 Divide and Conquer in Binary Tree II
第5周
第五周:分治算法,高级排序算法,快速选择算法,双指针算法
分治法, 高级排序算法 I
分治法, 高级排序算法 II
双指针算法一 Two Pointers I
双指针算法二 Two Pointers II
双指针算法三 & 快速选择算法 Two Pointers & Quick Select
第6周
第六周:常考数据结构:栈,队列,哈希表
队列和栈 Queue and Stack Basics
队列和栈 Queue and Stack Problems
哈希表 - 原理分析,具体实现 Open/Close Hashing
哈希表 - 应用 Application of Hash Table
堆入门 和 优先队列 Heap & Priority Queue
第7周
第七周:宽度优先搜索算法
宽度优先搜索 - 二叉树上的宽度搜索 Breadth First Search in Binary Tree
BFS之连通图及拓扑排序 Connected Graph & Topological Sorting
BFS之简单图求最短路径 Shortest Path in Simple Graph
BFS之矩阵中的宽搜 BFS in Matrix
宽度优先搜索 - 双向宽度优先搜索 Bi-directional BFS
第8周
第八周:深度优先搜索算法
深度优先搜索 - 组合型搜索 Depth First Search - Combination I
深度优先搜索 - 组合型搜索 Depth First Search - Combination II
深度优先搜索 - 排列型搜索 Depth First Search - Permutation
深度优先搜索 - 排列型搜索 Depth First Search - Permutation
深度优先搜索类问题 Depth First Search - Extension
第9周
第九周:动态规划入门
序列动态规划 Sequential Dynamic Programming I
序列动态规划 Sequential Dynamic Programming II
DP之坐标型动态规划 Coordinate Dynamic Programming
背包问题 Knapsack Problem
记忆化搜索 Memorization in Dynamic Programming
第10周
第十周:高级数据结构 字典树,并查集,堆
字典树原理实现 Trie Basics
字典树运用 Trie Problems
并查集原理与实现 Union Find I
并差集的运用 Union Find II
堆深入 Heap II
第11周
第十一周:深度、宽度优先搜索加强
深度优先搜索的优化剪枝算法 Pruning Optimization in Depth First Search
深度优先搜索的优化剪枝算法 Pruning Optimization in Depth First Search
宽度优先搜索难题训练 Exercises for difficult problems in BFS
深度优先搜索难题训练 Exercises for difficult problems in DFS
A*算法 The A* Algorithm
第12周
第十二周:双指针算法,动态规划算法加强,简历和模拟面试
动态规划加强一:区间动态规划 Dynamic Programming on Intervals
动态规划加强二:双序列动态规划 Dynamic Programming on Two Sequences
动态规划总结 Dynamic Programming Summary
简历 How to Write a Good Resume
面试(包括电面和onsite) Mock Interview
网友评论