亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遞歸還是迭代?

遞歸還是迭代?

LEATH 2019-07-11 14:56:55
遞歸還是迭代?如果我們使用循環而不是遞歸,那么性能會受到影響嗎?反之亦然,在算法中,兩者都可以達到相同的目的嗎?檢查給定的字符串是否為回文。我見過許多程序員使用遞歸作為一種方法,在一個簡單的迭代算法能夠滿足要求的情況下炫耀它。編譯器在決定使用什么方面起著至關重要的作用嗎?
查看完整描述

3 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

遞歸可能會更昂貴,這取決于遞歸函數是否是尾遞歸(最后一行是遞歸調用)。尾遞歸得到編譯器的認可,并對其迭代對應進行優化(同時保持代碼中的簡潔、清晰的實現)。

我會用最有意義的方式來編寫算法,對于那些必須在幾個月或幾年內維護代碼的可憐的傻瓜(不管是你自己還是其他人)來說,它是最清晰的。如果遇到性能問題,那么請分析代碼,然后通過迭代實現進行優化。你也許想調查一下回憶錄動態規劃.


查看完整回答
反對 回復 2019-07-11
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

循環可以為您的程序實現性能增益。遞歸可以為您的程序員實現性能提升。選擇哪一個在你的情況下更重要!


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 790 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號