是否所有的循環(huán)函數都可用遞歸來實現呢?
網友解答: 先說一下個人理解-是的,所有的循環(huán)函數都可以用遞歸來實現。至少,我目前是這么認為的。所謂遞歸是是直接或間接調用函數本身,則訪函數稱為遞歸函數我們學習的時候接觸的比較多的是一種
先說一下個人理解-是的,所有的循環(huán)函數都可以用遞歸來實現。至少,我目前是這么認為的。
所謂遞歸是是直接或間接調用函數本身,則訪函數稱為遞歸函數我們學習的時候接觸的比較多的是一種叫斐波那契數列,在這里我們以1到100的求和為例,第一種是通過循環(huán)實現的,第二種則通過遞歸實現。
圖1,求和實現的方法
圖2,遞歸實現的方法
從上面對比看出,兩者都可以實現相應的目的,但是遞歸函數給人的感覺人精簡些,沒錯,遞歸函數的優(yōu)點在于簡單、邏輯清晰,正因為,邏輯清晰,我們有的時候比較難于一下子理解透。
所以,在我看來循環(huán)函數是可以都用遞歸函數實現,只要你邏輯夠強。當然需要注意的是,遞歸是一種棧的調用,需要防止棧溢出,棧的大小不是無限的。