递归/分治算法三要素:

  1. 定义(状态)

    • 接收什么参数

    • 做了什么事

    • 返回什么值

  2. 拆解(方程)如何将参数变小

  3. 出口(初始化) 什么时候直接return

面试中是否使用Recursion的几个判断条件:

  1. 面试官是否要求不使用recursion(不确定就像面试官询问)
  2. 不用recursion是否让问题变得复杂
  3. recursion深度是否会很深(stack overflow)
  4. 题目的考点是recursion vs. non-recursion还是考你是否会recursion

记住不要自己判断要和面试官讨论!

分治法有返回值,没有全局变量,可用多线程。而递归因为要用全局变量通常不能用多线程

results matching ""

    No results matching ""