如何利用數學歸納法理解程式設計中的遞迴問題?

時間 2021-05-31 08:18:17

1樓:

程式設計中使用遞迴, 就是將問題嘗試以如下的邏輯進行處理:

1. 如果問題直接可解, 則直接解決問題;

2. 如果不滿足1, 則嘗試將問題分解為相似的但更為簡單的子問題.

將數學歸納法用於證明遞迴成立時, 一般假設對於子問題, 結論已經成立. 然後用已有的結論證明原問題滿足結論.

具體來看, 對於LISP中使用cons構造出的二叉樹, 如(cons (cons 1 2) (cons 3 4))進行複製, 可以這樣分解問題:

1. 如果物件為原子, 則直接返回原子;

2. 否則一定為cons, 則分別複製car, cdr部分。

如果嘗試證明這個複製的方法是正確的, 可以這樣考慮:

1. 對於只有根的樹,如』42, 程式成立;

2. 對於複製(cons (cons 1 2) (cons 3 4)), 假設複製(cons 1 2),(cons 3 4)這樣的問題都是成立的, 是否能夠成功的得到(cons (cons 1 2) (cons 3 4)).

數學歸納法為什麼是對的?如何證明其正確性?

來自高山 圖1 題主所問問題 題主所問的問題,如圖1所示。讀書筆記 Peano公理 為什麼 數學歸納法 是正確的?為什麼 數學歸納法 可以那麼用?u25th engineer的部落格 CSDN部落格 圖2 Peano公理 這個東西對高中生來說確實是說不清楚的,只能從簡單例子去直觀地理解,下面看看這個...

在高等數學利用微分中值定理解決問題時,如何準確的構造出輔助函式?

已登出 證明過程 尋找輔助函式 其實,說真的,在羅爾定理的基礎上,證明拉格朗日定理是非常簡單的,只需要構造乙個輔助函式套用一下羅爾定理就得到了拉格朗日中值定理。問題是這個輔助函式怎麼來的,有什麼規則嗎,是從天而降的?當然不是,還是有一定原因的。細想一下,拉格朗日是從羅爾中去掉f a f b 這個條件...

如何理解 倒易 在物理與數學中的意義?

苗艦艦 對於這樣的有點模糊的問題 沒有很教科書式的標準答案 我就來個有點民科的回答 從固體物理的倒空間說起 對於晶格點陣,具有位置空間的週期性,所以我們描述的時候只要確定元胞和基矢,剩下的就是元胞的重複,並不需要更多新的資訊 我們可以給出每個格點的座標,這樣就得到整個晶格 也可以任意選取原點,通過基...