5、递归
一、什么是遞歸?
? ? ? 遞歸不是算法,而是一種函數(shù)的高級(jí)應(yīng)用。遞歸就是在函數(shù)內(nèi)部調(diào)用自己。
?
二、基礎(chǔ)條件與遞歸條件
? ? ? 遞歸函數(shù)在函數(shù)的內(nèi)部調(diào)用自己,因此遞歸函數(shù)都必須有兩個(gè)條件:①基礎(chǔ)條件,用來告訴函數(shù)什么時(shí)候停止遞歸;②遞歸條件,用來告訴函數(shù)什么情況下進(jìn)行遞歸。
?
三、棧
? ? ? 棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)。它就像一個(gè)一邊封閉另一邊開口的圓筒(薯片包裝圓筒),數(shù)據(jù)只能從開口的一邊進(jìn)入與取出,所以后來放進(jìn)去的數(shù)據(jù)反而能夠先取出來。
?
四、調(diào)用棧
? ? ? 遞歸函數(shù)會(huì)一直調(diào)用自己,而且遞歸函數(shù)的調(diào)用也像棧結(jié)構(gòu)一樣:最先調(diào)用的那一層函數(shù)被放在了最里面,且該層函數(shù)未完全執(zhí)行的,反而是最后調(diào)用的函數(shù)能夠最先執(zhí)行完畢返回結(jié)果。
?
——————本篇完!
轉(zhuǎn)載于:https://www.cnblogs.com/lqxing1994/p/9212557.html
總結(jié)
- 上一篇: golang日期时间格式format()
- 下一篇: elasticsearch系列五:搜索详