设是一个实数的数组,考虑下面的递归算法:
XYZ (A[1..n])
1. if n= 1 then return A[1]
2. else temp ← XYZ (A[l..n-1])
3. if temp < A[n]
4. then return temp
5. else return A[n]
请问算法的输出是什么?( )。
A.数组的平均
B.数组的最小值
C.数组的中值
D.数组的最大值
答案:B,每次比较都会返回较小值,类似于打擂台,最终会返回数组最小值
在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。
A. 系统分配的栈空间溢出