在程序設計中,遞歸調用是子例程或函數中的一個命令,它告訴程序再次運行同一個子例程。重復性能可能是該函數的直接結果,也可能是觸發第二個函數,從而,返回到第一個函數。遞歸調用與可怕的無限循環有一些相似之處,但子例程總...
在程序設計中,遞歸調用是子例程或函數中的一個命令,它告訴程序再次運行同一個子例程。重復性能可能是該函數的直接結果,也可能是觸發第二個函數,從而,返回到第一個函數。遞歸調用與可怕的無限循環有一些相似之處,但子例程總是有一個條件語句,告訴程序何時停止重復遞歸。手持計算機的人也許可以通過使用一個例子來最好地說明遞歸的概念。假設一個屋頂工人把新的瓦片鋪在家里。首先,他必須把一捆瓦片帶到屋頂上。一旦他把第一捆木瓦釘好,他必須爬下梯子,取回另一捆,然后把它釘在適當的地方。這個過程持續不斷地進行,直到最后一塊瓦片鋪好為止。此時,屋頂工可以繼續下一個工作或回家。雖然這個例子過于簡單化了,但它包含了遞歸調用的所有元素。有一個起點,屋頂工必須檢索他需要的東西,回到開始,當最后的條件滿足時,停止。這就是程序的基本功能;它啟動,實現一個操作,返回到它自己并在結束條件出現時終止。結束條件被稱為基本情況。它對所有遞歸調用都是必不可少的;沒有它,函數將繼續重復。這充其量只會耗盡系統的內存資源。通常,重載會在某些時候使程序崩潰有經驗的程序員可能會認識到遞歸調用和“for”或“while”循環之間的相似性例如,如果目標是查找零件號大于999的所有庫存的總庫存計數,“for”循環告訴程序定位所有符合條件的實例,“while”循環告訴程序僅在所述條件有效時執行循環。可以說遞歸調用將這些循環的某些功能與“if then else”語句結合起來;如果此條件為真,則執行此操作,或者,如果條件為false,則執行其他操作。不過,遞歸通常允許更緊湊的代碼,并允許將問題傳遞給更接近需要的點的函數
-
發表于 2020-08-07 13:57
- 閱讀 ( 935 )
- 分類:電腦網絡