在程序设计中,递归调用是子例程或函数中的一个命令,它告诉程序再次运行同一个子例程。重复性能可能是该函数的直接结果,也可能是触发第二个函数,从而,返回到第一个函数。递归调用与可怕的无限循环有一些相似之处,但子例程总...
在程序设计中,递归调用是子例程或函数中的一个命令,它告诉程序再次运行同一个子例程。重复性能可能是该函数的直接结果,也可能是触发第二个函数,从而,返回到第一个函数。递归调用与可怕的无限循环有一些相似之处,但子例程总是有一个条件语句,告诉程序何时停止重复递归。手持计算机的人也许可以通过使用一个例子来最好地说明递归的概念。假设一个屋顶工人把新的瓦片铺在家里。首先,他必须把一捆瓦片带到屋顶上。一旦他把第一捆木瓦钉好,他必须爬下梯子,取回另一捆,然后把它钉在适当的地方。这个过程持续不断地进行,直到最后一块瓦片铺好为止。此时,屋顶工可以继续下一个工作或回家。虽然这个例子过于简单化了,但它包含了递归调用的所有元素。有一个起点,屋顶工必须检索他需要的东西,回到开始,当最后的条件满足时,停止。这就是程序的基本功能;它启动,实现一个操作,返回到它自己并在结束条件出现时终止。结束条件被称为基本情况。它对所有递归调用都是必不可少的;没有它,函数将继续重复。这充其量只会耗尽系统的内存资源。通常,重载会在某些时候使程序崩溃有经验的程序员可能会认识到递归调用和“for”或“while”循环之间的相似性例如,如果目标是查找零件号大于999的所有库存的总库存计数,“for”循环告诉程序定位所有符合条件的实例,“while”循环告诉程序仅在所述条件有效时执行循环。可以说递归调用将这些循环的某些功能与“if then else”语句结合起来;如果此条件为真,则执行此操作,或者,如果条件为false,则执行其他操作。不过,递归通常允许更紧凑的代码,并允许将问题传递给更接近需要的点的函数
-
发表于 2020-08-07 13:57
- 阅读 ( 1038 )
- 分类:电脑网络