確定遞歸算法的三個(gè)要素。每次寫(xiě)遞歸算法時(shí)都基于下面的“三部曲”,可寫(xiě)出正確的遞歸算法。
(1)確定遞歸函數(shù)的參數(shù)和返回值
確定哪些參數(shù)在遞歸過(guò)程中需要處理就在遞歸函數(shù)中加上這些參數(shù),并且明確每次遞歸的返回值是什么,進(jìn)而確定遞歸函數(shù)的返回類型
(2)確定終止條件
寫(xiě)完遞歸算法,程序運(yùn)行的時(shí)候經(jīng)常會(huì)遇到棧溢出的錯(cuò)誤,原因是沒(méi)有寫(xiě)終止條件或者終止條件寫(xiě)的不對(duì)。操作系統(tǒng)也是用一個(gè)棧的結(jié)構(gòu)保存每一層遞歸的信息的,如果遞歸沒(méi)有終止,那么操作系統(tǒng)的內(nèi)存棧必然會(huì)溢出
(3)確定單層遞歸的邏輯
確定每一層遞歸需要處理的信息。在這里會(huì)重復(fù)調(diào)用函數(shù)本身來(lái)實(shí)現(xiàn)遞歸的過(guò)程。