將遞歸轉化成迭代的通用技術

從理論上講,只要容許使用棧,全部的遞歸程序均可以轉化成迭代。函數 可是並不是全部遞歸都必須用棧,不用堆棧也能夠轉化成迭代的,大體有兩類ui 尾遞歸:能夠經過簡單的變換,讓遞歸做爲最後一條語句,而且僅此一個遞歸調用。 // recursive int fac1(int n) { if (n <= 0) return 1; return n * fac1(n-1); } // iter
相關文章
相關標籤/搜索