您好,登錄后才能下訂單哦!
遞歸內存流程(棧)
棧 后進先出 (堆 開辟內存空間時 去堆里取 ) (查看函數壓棧執行流程 http://pythontutor.com/visualize.html#mode=edit)
函數執行需要壓棧 函數所使用的變量也要壓棧 函數執行完函數及其數據要彈出數據消亡(局部變量函數調用時創建,調用結束時消亡)
棧跟線程相關 , 不同線程的棧互不干擾
遞歸 (分為 遞 、歸 先遞 后 歸)
函數直接或間接調用自身就是遞歸
遞歸要有邊界條件、遞歸前進段、遞歸返回段
遞歸一定要有邊界條件
邊界不滿足時,遞歸前進 邊界滿足時,遞歸返回
總結
遞歸相對運行效率低,每一次調用函數都要開辟棧幀
遞歸有深度限制,Cpython限制1000
絕大多數遞歸,都可以用循環實現
練習題:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。