1. 程式人生 > >一個錯誤的使用數學歸納法的證明題剖析

一個錯誤的使用數學歸納法的證明題剖析

再看這個數學歸納法的證明過程中的歸納證明步驟。假設對於k<n成立,然後考慮n的情況。根據歸納假設,最終證明出了F(n)=O(n)。這個過程以及這個過程中所用的O(n-1)+O(n-2)=O(n),也完全正確。那麼錯誤在什麼地方呢?和對初始證明過程的分析一樣,看這裡的F(n)=O(n)表示什麼。這個式子中的n已經不是一個變量了,這個時候n已經變成了一個常量。所以,我們同樣地,用大O記號的定義來對號入座,為了與常量n區別,用x表示函式的自變數,有f(x)=F(n),g(x)=nf(x)=O(g(x))的實質就是F(n)=O(n),也就是說無窮數列:F(n),F(n),…,F(n),…的上界是
n。這完全對,因為f(x)是一個常數數列,甚至可以說F(n)=O(1)是對的,只需要讓正常數cn即可。