递归与迭代之间的区别

在本文中,我们将了解递归和迭代之间的区别。

递归

  • 它使用选择结构。

  • 如果递归步骤不能将问题缩小为较小的问题,则会发生无限递归。

  • 如果未在特定条件下进行转换,它也将变为无限递归。

  • 此特定条件称为基本情况。

  • 遇到无限递归时,系统崩溃。

  • 当满足基本情况时终止。

  • 它比迭代慢,因为它具有维护和更新堆栈的开销。

  • 与迭代相比,它使用更多的内存。

  • 递归可减少代码的大小。

迭代

  • 它使用重复结构。

  • 它增加了代码的大小。

  • 与递归相比,它使用更少的内存。

  • 当循环中的条件失败时,它终止。

  • 当循环中的条件永远不会为False时,就会发生无限循环。

  • 当发生无限循环时,它将一次又一次地使用CPU周期。

  • 它不利用堆栈。

  • 与递归相比,它是快速的。