递归及应用场景

602 阅读1分钟

递归 :在函数内部调用自己

递归作用 应用场景

  • 浅拷贝与深拷贝
  • 遍历dom树 代码如下

image.png

构成递归需具备的条件

  1. 子问题须与原始问题为同样的事,且更为简单。
  2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。

递归 缺点

递归算法解题相对常用的算法如普通循环等,运行效率较低。因此,应该尽量避免使用递归,除非没有更好的算法或者某种特定情况,递归更为适合的时候。在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。

浅拷贝与深拷贝

  • 浅拷贝:拷贝地址, 修改拷贝后的数据原数据也会变化
  • 深拷贝:拷贝数据, 修改拷贝后的数据原数据不会变化