有些學生經常困惑何時才是使用遞迴的最好時機?是不是遞迴只能解決少數問題?事實上任何可以用if-else和while指令編寫的函數,都可以用遞迴來表示和編寫。
那麼遞迴寫成的函數.又有什麼優缺點呢?
優點:
(1)可增加程式的可讀性。
(2)可處理較複雜的問題。
缺點:
(1)需要花費較多的時間。
(2)利用暫存堆疊(Stack)的觀念,需要額外的儲存空間。
由上面的說明,我們必須明白遞迴式可以增進結構化程式設計的可讀性。不過針對執行時間的考量而言,還是以所謂的for或while迴路(iteration:又稱疊代法)更能節省執行時間。
題目練習 http://nknucc.nknu.edu.tw/~jwu/c/cpgch6.htm
全站熱搜