遞歸

遞歸三大定律

● 所有遞歸算法必須具備基本結束條件。

● 遞歸算法必須要減小規模,改變狀態,向基本結束條件演進。

● 遞歸算法必須調用自身(遞歸地)。

● 某些情況下,遞歸可以代替迭代循環。

● 遞歸算法通常能夠跟所要解決的問題的表述很自然地契合。

● 遞歸不總是最合適的算法,有時候遞歸算法可能會引發巨量的重複計算。

基本結束條件是一種可以讓算法的遞歸操作結束的情況。基本的結束條件通常是一個規模小到可以直接解決的問題。
爲了遵循第二定律,我們必須改變算法的狀態,使之向基本結束條件演進。狀態的改變意味着 算法中使用的一些數據被改變了。通常情況下,這些代表着我們問題的數據以某種方式變小了。

最後一條定律就是算法必須調用自身,這正是”遞歸“的定義。遞歸函數可以把一個大問 題不斷分解爲更小的問題,解決這些小問題只要分別寫一些簡單的函數就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章