我正在通過羅伯特·塞奇威克和凱文·韋恩算法的第四版和我難倒鍛鍊1.1.27,詢問:推理遞歸函數
將用於遞歸調用的數量估算由代碼
public static double binomial(int N, int k, double p) { if ((N == 0) || (k < 0)) return 1.0; return (1.0 - p)*binomial(N-1, k, p) + p*binomial(N-1, k-1, p); }
計算二項式(100,50)。
儘管我希望能夠幫助回答這個問題,但我也希望能更好地理解和推理這種性質的問題,所以我會讚賞任何幫助或指導。
'p'的初始值是什麼,假設爲'0'? – lurker
你應該閱讀一些古老的數學家和科學家所做的。他們用來記錄他們手工完成的原始計算的頁面和頁面。有些人會寫出序列的前500名成員,以瞭解某些序列的屬性,其目標是幫助他們證明一些屬性。這同樣適用於...你是否嘗試插入一些值並手動寫出遞歸調用的數量?現在你可以稍微修改一下代碼,然後讓計算機告訴你;但在紙上做這件事並沒有什麼實際壞處 – rliu
@mbratch整個練習是在我的問題中,但我認爲它不重要,因爲它對函數的遞歸屬性 –