java递归算法经典实例 C语言的递归调用一定需要返回值吗?
浏览量:1755
时间:2021-03-20 10:59:48
作者:admin
C语言的递归调用一定需要返回值吗?
递归调用的返回值不一定是进入深层递归,返回上层数据。由于通常的递归是单向的,所以传递的数据通常是以参数表的形式,如欧几里德算法GCD(m,n)计算最大公因式。这种递归的目的是找到最大公因数,并将其标记为M=0。一旦达到目标,直接返回n,如果不需要其他操作,只需在参数表中传递m和n即可。我们仍然可以将找到的n赋给全局变量,从而忽略返回值。如果是扩展的欧几里德算法(self-Baidu),我们需要在通过滚动除法找到特解后对特解进行处理,以便返回我们需要的正解(例如所有正整数解),有时传递全局变量的方法并不像提供返回值那样简单明了。递归,我们只需要限制边界,并且知道我们可以通过递归得到答案。那么我们只需要注意如何处理层与层之间的关系。参数表、返回值和全局变量都用于层间的通信。另一个例子是递归查找n!问题(例如,不推荐),正常的返回值就像一个序列的递归公式,归根结底,它也是用递归公式输出整个阶乘公式,而且它也可以被全局变量代替,所以归根结底,递归只是调用自身,void也可以递归
java递归算法经典实例 java保存递归结果 java递归详解
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。