2018-10-16
閱讀量:
4507
迭代與遞歸的優(yōu)缺點與區(qū)別
遞歸:程序調用自身的編程技巧稱為遞歸,是函數(shù)自己調用自己。
優(yōu)點:1、大問題化為小問題,可以極大的減少代碼量;2、用有限的語句來定義對象的無限集合;3、代碼更簡潔清晰,可讀性更好。
缺點:1、遞歸調用函數(shù),浪費空間;2、遞歸太深容易造成堆棧的溢出。
迭代:利用變量的原值推算出變量的一個新值。如果遞歸是自己調用自己的話,迭代就是A不停的調用B。
優(yōu)點:1、迭代效率高,運行時間只因循環(huán)次數(shù)增加而增加;2、沒什么額外開銷,空間上也沒有什么增加。
缺點:1、不容易理解;2、代碼不如遞歸簡潔;3、編寫復雜問題時困難。
兩者區(qū)別:1、遞歸中一定有迭代,但是迭代中不一定有遞歸,大部分可以相互轉換。2、相對于遞歸,能用迭代的不用遞歸,遞歸調用函數(shù),浪費空間,并且遞歸太深容易造成堆棧的溢出。






推薦帖子
0條評論
0條評論
0條評論