九章算法课程顺序

第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

你可能感兴趣的:(九章算法课程顺序)