【算法图解】Week 2 递归

  1. 递归就是指调用自己。
  2. 调用自己很容易进入无限循环,所以需要一个计数器。
  3. 计数器的作用是告诉递归函数:什么时候停止。
  4. 因而,每个递归函数有2个条件:基线条件(base case), 递归(recursive case)
  5. 基线条件(base case):是指函数不再调用自己的条件。
  6. 递归(recursive case):是指函数调用自己的条件。
  7. 栈有2种操作:压入(插入)弹出(读取&删除)
  8. 所有函数的调用都会进入栈。
  9. 递归函数的执行过程就是不停的将带有不用参数的自己本身压入栈,直到符合基线条件,再层层弹出。
  10. 栈可能很长,这将占用大量的内存。(避免)
【算法图解】Week 2 递归_第1张图片
0001.jpg
【算法图解】Week 2 递归_第2张图片
0002.jpg
【算法图解】Week 2 递归_第3张图片
0003.jpg
【算法图解】Week 2 递归_第4张图片
0004.jpg
【算法图解】Week 2 递归_第5张图片
0005.jpg
【算法图解】Week 2 递归_第6张图片
0006.jpg
【算法图解】Week 2 递归_第7张图片
0007.jpg
【算法图解】Week 2 递归_第8张图片
0008.jpg
【算法图解】Week 2 递归_第9张图片
0009.jpg
【算法图解】Week 2 递归_第10张图片
0010.jpg
【算法图解】Week 2 递归_第11张图片
0011.jpg
【算法图解】Week 2 递归_第12张图片
0012.jpg

你可能感兴趣的:(【算法图解】Week 2 递归)