递归结构流程图 JAVA中能够实现方法的递归调用吗?如何实现?
JAVA中能够实现方法的递归调用吗?如何实现?是的。所有的递归都可以通过循环来实现。递归可能导致堆栈溢出。在实际过程中,推荐使用循环。以二叉树的前序遍历为例:递归实现非递归实现递归到t=f(a,2-1
JAVA中能够实现方法的递归调用吗?如何实现?
是的。所有的递归都可以通过循环来实现。递归可能导致堆栈溢出。在实际过程中,推荐使用循环。
以二叉树的前序遍历为例:
递归实现
非递归实现
递归到t=f(a,2-1),即t=f(a,1),它本身就是一个函数调用,即调用f(a,1),这个函数的执行过程是执行return a[0],即t=a[0],这是连贯的。T=f(a,2-1)本质上是T=a[0],然后是执行returnt>A[n-1]的时候了?T:a[n-1],n的值是2。然后一次将其向后推一层,并执行语句returnt>A[n-1]?T:a[n-1]每次。也就是说,除了f(a,2-1)没有被执行外,程序每次都被执行。最终结果应该是9,这是数组的最大值