php中構(gòu)成遞歸需具備的條件有哪些

這篇文章主要介紹了php中構(gòu)成遞歸需具備的條件有哪些,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、濟(jì)寧網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站定制開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為濟(jì)寧等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

程序調(diào)用自身的編程技巧稱(chēng)為遞歸( recursion)。遞歸做為一種算法在程序設(shè)計(jì)語(yǔ)言中廣泛應(yīng)用。 一個(gè)過(guò)程或函數(shù)在其定義或說(shuō)明中有直接或間接調(diào)用自身的一種方法,它通常把一個(gè)大型復(fù)雜的問(wèn)題層層轉(zhuǎn)化為一個(gè)與原問(wèn)題相似的規(guī)模較小的問(wèn)題來(lái)求解,遞歸策略只需少量的程序就可描述出解題過(guò)程所需要的多次重復(fù)計(jì)算,大大地減少了程序的代碼量。遞歸的能力在于用有限的語(yǔ)句來(lái)定義對(duì)象的無(wú)限集合。一般來(lái)說(shuō),遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段。當(dāng)邊界條件不滿(mǎn)足時(shí),遞歸前進(jìn);當(dāng)邊界條件滿(mǎn)足時(shí),遞歸返回。

遞歸,就是在運(yùn)行的過(guò)程中調(diào)用自己。

構(gòu)成遞歸需具備的條件:

函數(shù)嵌套調(diào)用過(guò)程示例

1. 子問(wèn)題須與原始問(wèn)題為同樣的事,且更為簡(jiǎn)單;

2. 不能無(wú)限制地調(diào)用本身,須有個(gè)出口,化簡(jiǎn)為非遞歸狀況處理。

在數(shù)學(xué)和計(jì)算機(jī)科學(xué)中,遞歸指由一種(或多種)簡(jiǎn)單的基本情況定義的一類(lèi)對(duì)象或方法,并規(guī)定其他所有情況都能被還原為其基本情況。

例如,下列為某人祖先的遞歸定義:

某人的雙親是他的祖先(基本情況)。某人祖先的雙親同樣是某人的祖先(遞歸步驟)。斐波納契數(shù)列(Fibonacci Sequence),又稱(chēng)黃金分割數(shù)列,指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21..... I [1]

斐波納契數(shù)列是典型的遞歸案例:

遞歸關(guān)系就是實(shí)體自己和自己建立關(guān)系。

Fib(0) = 1 [基本情況] Fib(1) = 1 [基本情況] 對(duì)所有n > 1的整數(shù):Fib(n) = (Fib(n-1) + Fib(n-2)) [遞歸定義] 盡管有許多數(shù)學(xué)函數(shù)均可以遞歸表示,但在實(shí)際應(yīng)用中,遞歸定義的高開(kāi)銷(xiāo)往往會(huì)讓人望而卻步。例如:

階乘(1) = 1 [基本情況] 對(duì)所有n > 1的整數(shù):階乘(n) = (n * 階乘(n-1)) [遞歸定義] 一種便于理解的心理模型,是認(rèn)為遞歸定義對(duì)對(duì)象的定義是按照“先前定義的”同類(lèi)對(duì)象來(lái)定義的。例如:你怎樣才能移動(dòng)100個(gè)箱子?答案:你首先移動(dòng)一個(gè)箱子,并記下它移動(dòng)到的位置,然后再去解決較小的問(wèn)題:你怎樣才能移動(dòng)99個(gè)箱子?最終,你的問(wèn)題將變?yōu)樵鯓右苿?dòng)一個(gè)箱子,而這時(shí)你已經(jīng)知道該怎么做的。

如此的定義在數(shù)學(xué)中十分常見(jiàn)。例如,集合論對(duì)自然數(shù)的正式定義是:1是一個(gè)自然數(shù),每個(gè)自然數(shù)都有一個(gè)后繼,這一個(gè)后繼也是自然數(shù)。

德羅斯特效應(yīng)

德羅斯特效應(yīng)是遞歸的一種視覺(jué)形式。圖中女性手持的物體中有一幅她本人手持同一物體的小圖片,進(jìn)而小圖片中還有更小的一幅她手持同一物體的圖片,依此類(lèi)推。

又例如,我們?cè)趦擅嫦鄬?duì)的鏡子之間放一根正在燃燒的蠟燭,我們會(huì)從其中一面鏡子里看到一根蠟燭,蠟燭后面又有一面鏡子,鏡子里面又有一根蠟燭……這也是遞歸的表現(xiàn)。

簡(jiǎn)單應(yīng)用

function loop(){
 static $i = 0;
 echo $i.' ';
 $i++;
 if($i<10){
     loop();
 }
}
loop();//輸出 0 1 2 3 4 5 6 7 8 9

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享php中構(gòu)成遞歸需具備的條件有哪些內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

新聞標(biāo)題:php中構(gòu)成遞歸需具備的條件有哪些
當(dāng)前鏈接:http://muchs.cn/article12/iepcdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站網(wǎng)站維護(hù)、電子商務(wù)、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)