回覆列表
  • 1 # 使用者9213846046785

    一般定義  程式呼叫自身的程式設計技巧稱為遞迴( recursion)。   一個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法,它通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的程式碼量。遞迴的能力在於用有限的語句來定義物件的無限集合。一般來說,遞迴需要有邊界條件、遞迴前進段和遞迴返回段。當邊界條件不滿足時,遞迴前進;當邊界條件滿足時,遞迴返回。   注意:   (1) 遞迴就是在過程或函數里呼叫自身;   (2) 在使用遞迴策略時,必須有一個明確的遞迴結束條件,稱為遞迴出口。其它定義  遞迴的另一種定義:   遞迴,就是用自己的簡單情況,定義自己。   在數學和計算機科學中,遞迴指由一種(或多種)簡單的基本情況定義的一類物件或方法,並規定其他所有情況都能被還原為其基本情況。   例如,下列為某人祖先的遞迴定義:   某人的雙親是他的祖先(基本情況)。某人祖先的雙親同樣是某人的祖先(遞迴步驟)。斐波那契數列是典型的遞迴案例:   Fib(0) = 0 [基本情況] Fib(1) = 1 [基本情況] 對所有n > 1的整數:Fib(n) = (Fib(n-1) + Fib(n-2)) [遞迴定義] 儘管有許多數學函式均可以遞迴表示,但在實際應用中,遞迴定義的高開銷往往會讓人望而卻步。例如:   階乘(1) = 1 [基本情況] 對所有n > 1的整數:階乘(n) = (n * 階乘(n-1)) [遞迴定義] 一種便於理解的心理模型,是認為遞迴定義對物件的定義是按照“先前定義的”同類物件來定義的。例如:你怎樣才能移動100個箱子?答案:你首先移動一個箱子,並記下它移動到的位置,然後再去解決較小的問題:你怎樣才能移動99個箱子?最終,你的問題將變為怎樣移動一個箱子,而這是你已經知道該怎麼做的。   如此的定義在數學中十分常見。例如,集合論對自然數的正式定義是:1是一個自然數,每個自然數都有一個後繼,這一個後繼也是自然數。 德羅斯特效應  德羅斯特效應是遞迴的一種視覺形式。圖中女性手持的物體中有一幅她本人手持同一物體的小圖片,進而小圖片中還有更小的一幅她手持同一物體的圖片,依此類推。   又例如,我們在兩面相對的鏡子之間放一根正在燃燒的蠟燭,我們會從其中一面鏡子裡看到一根蠟燭,蠟燭後面又有一面鏡子,鏡子裡裡又有一根蠟燭……這也是遞迴的表現。

  • 中秋節和大豐收的關聯?
  • 銀行業風險防範措施有哪些?