PHP演算法 遞迴演算法

2021-07-12 04:11:54 字數 674 閱讀 6304

遞迴函式在日常專案中有很廣泛的用途,例如寫樹結構、遍歷目錄等,今天我們用乙個簡單的遞迴demo來求斐波那契數列,並用**釋它執行的過程。

<?php 

// 0 1 1 2 3 5 8 13 21 34

function demo($n) elseif ($n == 1) else

return $number;

}echo demo(4);

輸出結果:

3
該函式工作流程用圖表示:

首先:demo(4) = demo(3) + demo(2),

此時:demo(4)會等待demo(3)和demo(2)的返回結果

demo(3) = demo(2) + demo(1),demo(3)又會等待demo(2)和demo(1)的計算結果,

demo(2) = demo(1) + demo(0)

demo(1) = 1,demo(0) = 0

開始逐層返回結果

總的來說,遞迴函式,就是乙個先遞後歸的過程。

PHP遞迴演算法

在php開發過程中,遞迴演算法通常用於無限極分類。遞迴演算法的實現方法是有多種的,如通過 靜態變數 全域性變數 引用傳參 的方式。1.靜態變數的方法 靜態變數只存在於函式作用域內,一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保...

php遞迴演算法

我們都知道,程式設計有兩大難點 指標和遞迴。這裡說一說遞迴。一 什麼是遞迴函式呢?遞迴函式就是直接或間接的自己呼叫自己的函式。一句話就是 自己呼叫自己 二 什麼時候使用遞迴呢?當需要不斷重複某一方法時,也就是有某種共同的規律,有如 以此類推 重複多次 等情景時。巧用遞演算法能減少大量 三 簡單理解遞...

php遞迴演算法總結

遞迴演算法的實現方法是有多種的,如通過 靜態變數 全域性變數 引用傳參 的方式 靜態變數的方法 function call call 輸出 0 1 2 3 4 5 6 7 8 9 利用static定義靜態變數來實現遞迴排序。如上我們定義了乙個call方法和靜態變數 i,如果我們不給 i變數新增判斷,...