国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 文成县| 中宁县| 仙游县| 平泉县| 巴里| 内黄县| 黎川县| 图片| 姚安县| 雅江县| 原阳县| 凉山| 广安市| 肥东县| 叶城县| 栾川县| 全椒县| 唐海县| 丰顺县| 葫芦岛市| 延寿县| 牟定县| 图木舒克市| 项城市| 夏邑县| 霍林郭勒市| 读书| 彰化县| 杂多县| 岚皋县| 德庆县| 且末县| 青冈县| 天等县| 顺平县| 会同县| 综艺| 琼中| 长岭县| 苏尼特左旗| 淮北市|