-1
我需要帮助为下面的方法创建效率分析。我需要拿出:Java递归效率分析
- 因素影响运行时
- 什么是被计算(比较,操作)?
- 最佳/最差情况
- 大O符号
这是我到目前为止有:
- 数组长度
- 数学运算
- 最坏情况和最好的情况是相同的,因为该方法将运行整个阵列,而不管其内容如何
- 不知道
让我知道您的想法。
感谢
double sum(double[] array) {
return recursiveSum(array, 0, array.length - 1);
}
double recursiveSum(double[] array, int lo, int hi) {
if (lo == hi) {
return array[lo];
}
int mid = (lo + hi)/2;
double leftsum = recursiveSum(array, lo, mid);
double rightsum = recursiveSum(array, mid+1, hi);
return leftsum + rightsum;
}
我觉得这是期末考试的季节。你知道[主定理](http://en.wikipedia.org/wiki/Master_theorem)吗? – 2013-05-10 04:34:40
使用循环获得数组的总和,递归是过度的损失 – 2013-05-10 04:34:46
trustme,我很想不必使用递归,这不是我的选择 – bforcer 2013-05-10 04:37:50