04-01递归原理分析_分析方法调用
2014-05-07 23:57
302 查看
分析方法调用
请分析如下的递归方法调用:
int f(int[]
a, int n)
{
if(n==0) return a[0];
return f(a, n-1) + a
;
}
1. 它实现了什么功能?
2.int[] a = {1,2,3,4};
int k = f(a,3);
当 n = 0 时,试画出栈中局部变量的情况。
-------------------------------------------------------------------------------------------------------------------
1. 该方法实现了对数组的前边n+1个元素求和。
2. 当n=0时,栈中局部变量的情况:
int n = 0
int[] a = 数组地址
int n = 1
int[] a = 数组地址
int n = 2
int[] a = 数组地址
int n = 3
int[] a = 数组地址
int k
int[] a = 数组地址 (这个是主调程序的局部变量,前边的a是形参变量)
.....
栈底
请分析如下的递归方法调用:
int f(int[]
a, int n)
{
if(n==0) return a[0];
return f(a, n-1) + a
;
}
1. 它实现了什么功能?
2.int[] a = {1,2,3,4};
int k = f(a,3);
当 n = 0 时,试画出栈中局部变量的情况。
-------------------------------------------------------------------------------------------------------------------
1. 该方法实现了对数组的前边n+1个元素求和。
2. 当n=0时,栈中局部变量的情况:
int n = 0
int[] a = 数组地址
int n = 1
int[] a = 数组地址
int n = 2
int[] a = 数组地址
int n = 3
int[] a = 数组地址
int k
int[] a = 数组地址 (这个是主调程序的局部变量,前边的a是形参变量)
.....
栈底
相关文章推荐
- jQuery视差滚动插件,(附原理分析,调用方法)
- Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法
- Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法
- Android逆向之旅---某直播APP的协议加密原理分析以及调用加密方法进行协议参数构造
- Android逆向之旅---分析某直播App的协议加密原理以及调用加密方法进行协议参数构造
- 【Android】ListView中getView的原理与解决多轮重复调用的方法
- c语言函数调用过程原理及函数栈帧分析
- 探讨:web上存漏洞及原理分析、防范方法
- HashMap的原理分析(1)put方法的实现
- HashMap的原理分析(2)get和remove方法的实现
- spring的事务处理详解:调用一个方法前的事务处理过程(源代码分析)
- PHP文件包含漏洞原理分析和利用方法
- 云星数据---Scala实战系列(精品版)】:Scala入门教程033-Scala实战源码-Scala apply方法01 调用
- Alibaba Dubbo框架同步调用原理分析-1
- C#中匿名方法变量共享原理分析
- 分析函数调用关系图(call graph)的几种方法
- 吉首大学_编译原理实验题_基于预测方法的语法分析程序的设计【通过代码】
- java动态加载指定的类或者jar包反射调用其方法-涉及其他jar中的类就报ClassNotFound问题分析及解决思路
- IPHONE 开发 6 -- Object C 01 [NSLog打印信息,对象方法,类方法,空格调用一个方法,%d,%s,%@对象
- Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理