Loading

九章算法班 - 课程大纲

第1章 Algorithm Interview && Coding Style

  · 通过strStr这一道常见面试题讲解面试中的常见误区
  · 从面试官的角度分析面试的考察点
  · 从Subset中了解算法面试中模板的重要性
  · 面试常见问题答疑

第2章 二分搜索 Binary Search
  · 学习Binary Search的通用模板,不再死循环
  · 讲解Search in Rotated Sorted Array等5-7道高频二分搜索题

第3章 二叉树问题与分治算法 Binary Tree & Divide Conquer
  · 二叉树的深度优先遍历 Binary Tree DFS Traversal
  · 先序/中序/后序 Preorder / inorder / postorder
  · 分治 Divide & Conquer
  · DFS模板 Introduce DFS Template
  · 二叉树的宽度优先遍历 Binary Tree BFS Traversal
  · BFS模板 Introduce BFS template
  · 二叉搜索树 Binary Search Tree

第4章 动态规划 Dynamic Programming I
  · 动态规划算法的适用条件
  · 动态规划算法的四个解题要素
  · 动规的两种实现方式:记忆化搜索 vs 循环递推
  · 面试中动态规划的常见类型
  · 坐标型动态规划

第5章 动态规划 Dynamic Programming II
  · 单序列动态规划(下) Sequnece DP
  · 双序列动态规划 Two Sequences DP

第6章 链表 Linked List
  · 介绍Dummy Node在链表问题中的运用 Introduce Dummy Node in Linked List
  · 你必须知道的几点Linked List的常用技巧 Basic skills in Linked List you should know
  · 两根指针算法 Two pointers
  · 常见问题讲解 Frequent Questions

第7章 数组与数 Array & Numbers
  · 旋转排序数组相关问题与三步翻转法的运用 Rotated Sorted Array & 3-step Reversion
  · 两个排序数组的中位数 Median of Two Sorted Array
  · 子数组相关问题 SubArray
  · 两根指针与x-sum问题 Two Pointers & x-sum
  · 分割数组相关问题 Partition Array

第8章 数据结构 Data Structure
  · 线性数据结构
  · 队列的原理、实现和运用 Queue
  · 栈的原理、实现和运用 Heap
  · 哈希表的原理、实现和运用 HashMap
  · 树形数据结构
  · 堆的原理、实现和运用 Heap

第9章 图与搜索 Graph & Search
  · 图上的宽度优先搜索 Graph BFS
  · 拓扑排序 Topological Sorting
  · 组合类深度优先搜索 Combination Related DFS
  · 排列类深度优先搜索 Permutation Related DFS

.........................................................................................................................................................................

·面试误区:
  ·做过的题、简单的题肯定能过。
  ·算法想出来了就能过。
  ·代码写出来了就能过。

·面试中考察的基本功:
  ·程序风格Coding Style
    ·变量名命名,缩进,括号
  ·Coding习惯,Bug Free
    ·异常检测,边界处理
  ·沟通
    ·让面试官时刻明白你的意图
    ·闷头就开始写 VS 没写一句话就BB半天
  ·测试
    ·主动给出Testcase,Cover掉所有情况

·你真的会面试么?
  ·做题之前,是否在白纸上写过一遍
    ·不停的在LintCode提交知道AC?
  ·刷200多题,吃透了几题?
    ·做过的题是不是还可能不会做?
  ·题目不会的时候直接说不会么?
    ·面试官是Co-worker
  ·是不是觉得面试官在为难你?
    ·Follow Up Question

·算法,永远的痛
  ·题做了很多,但就是记不住解法
  ·从来就没有弄明白过动态规划是怎么回事
  ·这题好像见过,不过还是不知道怎么做
  ·LintCode,CC150都刷了,新题还是跪
  ·网上的解答那么多次,到底哪个是对的?
  ·一定要答出O(n)的方法么?O(nlogn)的可以么?
  ·到底刷到什么程度去面试才够?

·如何准备面试算法题
  ·“面试”算法题,其实很简单
    ·考查范围很窄,数来数去就几个内容
    ·难度不会太深,更重要的是Coding质量
  ·某位商学院转行的小伙伴在我们的帮助下花了30天从0基础算法搞定常见算法最后拿到Google、Facebook等一流公司Offer
    ·在刷题时,总结、归类相似题目
    ·找出适合同一类题目的模板程序

·正确的解题总结报告
  ### 解题报告
  xxx一句话概括这个题你要干嘛

  ### 核心思路
  xxxxxxx

  ### 时间复杂度 & 空间复杂度
  xxxxxx

  ### 有哪些我做过的相关题目
  xxxxxxx

  ### 哪些条件提示我想到了这个题的解法
  xxxxxxxxx

·好钢用在刀刃上
  ·不要把时间浪费在那些基本不会考而你又很心虚的内容上,比如KMP,红黑树,AVL,ACM竞赛题

posted @ 2016-10-17 16:27  dai.sp  阅读(2702)  评论(0编辑  收藏  举报