国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

關(guān)于php中的遞歸分析

2020-03-22 20:09:30
字體:
供稿:網(wǎng)友
這篇文章主要介紹了關(guān)于關(guān)于php中的遞歸分析,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

什么叫遞歸?

舉一個通俗的例子:

有一個8倆重的蘋果要你切成重量相等的若干份,每一份的重量不能大于1倆。你肯定會想到這樣做:

1.第一刀先把一個蘋果切成重量均等的2份A1和A2;

2.再把其中的一份A1切成重量均等的兩份A11和A12, 把A2切成均等的兩份A21和A22;

3.把A11切成均等的兩份……

4.直到每一小份都小于等于1倆為止。

以上的例子就是遞歸一個模型,把一個大的事物化成若干個小的事物,每一次使用的方法都相同。

程序自身調(diào)用自身的編程技巧稱為遞歸( recursion)。遞歸有直接遞歸和間接遞歸

?直接遞歸:函數(shù)在執(zhí)行過程中調(diào)用本身。

?間接遞歸:函數(shù)在執(zhí)行過程中調(diào)用其它函數(shù)再經(jīng)過這些函數(shù)調(diào)用本身。

遞歸有四個特性:

1.必須有可最終達到的終止條件,否則程序?qū)⑾萑霟o窮循環(huán);

2.子問題在規(guī)模上比原問題小,或更接近終止條件;

3.子問題可通過再次遞歸調(diào)用求解或因滿足終止條件而直接求解;

4.子問題的解應能組合為整個問題的解。

上面的例子中也滿足以上的四點性質(zhì):

(1).終止條件是每一份的重量不能大于1倆;(2).每一次切的大小都比上一次??;(3).每一次切的方式都相同,所以子問題可遞歸調(diào)用;(4).最終切成的每一小份也就是要求的解。

function cutApple($w,$t){ if($w 1){ echo 已經(jīng)切完了  else{ echo 第 .$t. 次切割,每份重量是: .($w/2). br  $t+=1; cutApple($w/2,$t);}

結(jié)果:

第1次切割,每份重量是:7.5

第2次切割,每份重量是:3.75
第3次切割,每份重量是:1.875
第4次切割,每份重量是:0.9375

已經(jīng)切完了

再舉一個通俗的例子:試求等差數(shù)列的和:1+2+3+4+...+98+100;

/** * 等差數(shù)列求和 * @param [int] $n [第一個數(shù)] * @param [int] $m [第二個數(shù)]function add($n,$m){ if(!is_int($n)||!is_int($m))  return false; html' target='_blank'>static $sum=0; $sum+=$n; $n++; if($n $m) return $sum; return add($n,$m);echo add(1,100);

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,更多相關(guān)內(nèi)容請關(guān)注PHP !

相關(guān)推薦:

PHP如何動態(tài)修改配置文件

以上就是關(guān)于php中的遞歸分析的詳細內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 老河口市| 黎城县| 阿勒泰市| 江津市| 武汉市| 三都| 独山县| 万宁市| 麻江县| 朝阳市| 青浦区| 突泉县| 靖西县| 长治县| 台南县| 洞头县| 保山市| 明溪县| 林州市| 东乌珠穆沁旗| 贵溪市| 黄平县| 垫江县| 上蔡县| 钟祥市| 五华县| 余姚市| 金湖县| 工布江达县| 新干县| 维西| 莆田市| 甘南县| 盈江县| 两当县| 凤城市| 大同市| 荔波县| 黔江区| 东平县| 定南县|