溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

遞歸是什么

發(fā)布時間:2020-08-04 10:42:33 來源:億速云 閱讀:198 作者:Leah 欄目:互聯(lián)網(wǎng)科技

這篇文章將為大家詳細(xì)講解有關(guān)遞歸是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

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

遞歸做為一種算法在程序設(shè)計語言中廣泛應(yīng)用。 一個過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個大型復(fù)雜的問題層層轉(zhuǎn)化為一個與原問題相似的規(guī)模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復(fù)計算,大大地減少了程序的代碼量。遞歸的能力在于用有限的語句來定義對象的無限集合。

一般來說,遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段。當(dāng)邊界條件不滿足時,遞歸前進(jìn);當(dāng)邊界條件滿足時,遞歸返回。

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

遞歸是什么

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

1. 子問題須與原始問題為同樣的事,且更為簡單;

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

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

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

例如,下列為某人祖先的遞歸定義:某人的雙親是他的祖先(基本情況)。

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

斐波納契數(shù)列是典型的遞歸案例:遞歸關(guān)系就是實體自己和自己建立關(guān)系。

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

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

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

德羅斯特效應(yīng)

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

又例如,我們在兩面相對的鏡子之間放一根正在燃燒的蠟燭,我們會從其中一面鏡子里看到一根蠟燭,蠟燭后面又有一面鏡子,鏡子里面又有一根蠟燭……這也是遞歸的表現(xiàn)。

關(guān)于遞歸是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI