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






CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論