遞歸函數(20160810).md

  1. 遞歸調用是通過棧(stack)數據結構實現的,解決遞歸調用棧溢出的方法是尾遞歸優化,事實上尾遞歸和循環的效果是一樣的,所以,把循環看成是一種特殊的尾遞歸函數也是可以的。
  2. 尾遞歸的方式: 在函數返回的時候,調用自身本身,並且,return語句不能包含表達式。
def fact(n):
    return fact_iter(n,1)
def fact_iter(num,product):
    if num == 1:
        return product
    return fact_iter(num-1,num*product)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章