zoukankan      html  css  js  c++  java
  • 递归与迭代的选择 递归副作用

    都需要

        循环地执行:迭代是显示地使用一个循环结构,而递归通过重复地进行函数调用来实现循环。

        终止测试;当循环条件为假时迭代结束,当遇到基线条件时递归结束

    迭代

      基于循环结构

    递归

      基于选择结构

    迭代

      改变计数器变量直至它的值使得循环继续条件为假

    递归

      不断地将问题的规模逐渐变小直至达到基线条件

    副作用

      迭代

        忽略

      递归

        不断地执行函数调用机制,产生很大的函数调用开销,从而在处理器的时间和存储器的空间两方面付出很大的代价;

        每一次递归调用都要创建函数的一个副本(函数变量的副本),这是很耗费存储器的。

    软件工程视点

      任何一个介意用递归方法来求解的问题,都可以用迭代方法求解。

      递归更自然地反映了问题的本质,这样设计的程序直观明了,易于排错。

  • 相关阅读:
    「CF1051F」The Shortest Statement
    「CF911F」Tree Destruction
    「HNOI/AHOI2018」游戏
    「CF859E」Desk Disorder
    「CF858F」 Wizard's Tour
    「CF894E」 Ralph and Mushrooms
    「NOIP2018」赛道修建
    「POI2010」Bridges
    常见神经网络
    数字图像处理笔记2.22
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10488896.html
Copyright © 2011-2022 走看看