2017-06-04 41 views
1

我給出這樣一個問題:設置遞推關係

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] 

(一)這是什麼算法計算?
(b)設置並解決執行算法的基本操作次數 的遞歸關係。對於(a)部分我知道這個算法計算數組中最小的元素。對於(b)部分,我相信基本操作是一個比較,因爲它會進行最多的次數,但我無法弄清楚如何設置遞歸關係。
我明白如何解決遞歸關係,我只需要幫助建立問題。

回答

0

復發表達應該是:

T[n] = T[n-1] + O(1) 

計算上述表達式的時間複雜度出來是O(n)中。

+0

O(1)從哪裏來? – Daoud

+0

O(1)用於比較: 如果temp <= A [n-1]返回溫度 否則返回A [n-1] –