我收到了这个问题:
Algorithm Mystery1(A[0...n-1])
//Input: An array A[0...n-1] of n real numbers
if (n = 1) return A[0]
else temp = Mystery1(A[0...n-2])
if temp <= A[n - 1] return temp
else return A[n - 1]
(a)该算法计算什么?
(b)设置并求解算法基本操作次数的递归关系
被执行。
对于(a)部分,我知道该算法计算数组中的最小元素。对于(b)部分,我认为基本操作是比较,因为它将完成最多次,但我无法弄清楚如何设置递归关系。
我理解如何解决递归关系,我只需要帮助设置问题。
答案 0 :(得分:0)
复发表达式应为:
T[n] = T[n-1] + O(1)
计算上述表达式时间复杂度为O(n)。