對遞迴的淺層理解

2021-08-30 13:14:45 字數 652 閱讀 8040

遞迴的原理(個人理解)

例:計算年齡的問題

可以用迴圈 也可以用遞迴

已知第乙個人的年齡是10歲,下乙個人的年齡是上乙個人的年齡加2歲;

age(int n)表示第幾個人的年齡;若求第五個人的年齡。

#include

int age(int n)

else

}int main()

輸出:18;

在計算機的內部進行的過程如圖:

遞迴就是函式自己呼叫自己,我自己感覺迴圈的計算方法是從第一項開始計算一直到最後一項直接給出答案,是從前往後計算。而遞迴,從開始一直呼叫自己,一直到呼叫達到邊界條件,利用邊界條件的值,通過return逐層的往上返回,相當於原路返回,但是返回時一直在層層計算,每一層都返回乙個新值,直到返回給主函式。

遞迴的三要素:

1.前進(規模縮小)//感覺就是把乙個問題的迴圈規律找到,然後寫出它們的通性。

2.邊界條件//迴圈有迴圈的限制條件,遞迴也有,就是找到使它停止的條件(最後乙個條件)。

3.返回段 //就是把最後乙個值返回給上乙個函式再計算。

這是我對遞迴的理解,如果哪塊理解有誤,請同行指點。

深度學習淺層理解(三) 常用模型之自編碼器

deep learning的常用模型或者方法 1 autoencoder自動編碼器 deep learning最簡單的一種方法是利用人工神經網路的特點,人工神經網路 ann 本身就是具有層次結構的系統,如果給定乙個神經網路,我們假設其輸出與輸入是相同的,然後訓練調整其引數,得到每一層中的權重。自然地...

對遞迴的理解

昨天和宿舍一哥們討論二叉樹中求最近公共父節點問題時,才發現原來對遞迴的理解都是錯的,其實在程式內部分配的棧和資料結構的棧功能基本一樣,當然前者的棧還涉及到棧幀,函式內部訪問某個棧幀的元素並不一定是從棧頂訪問。舉乙個簡單的例子,遍歷乙個二叉樹,無論是非遞迴演算法和遞迴演算法時間複雜度都是o n 以前認...

對遞迴模型的理解

一.遞迴模型 分而治之的思想也就是典型的遞迴思想,遞迴思想的核心就是 遞迴模型 的建立,遞迴模型 就是處理這類問題的乙個 相同的框架,這個框架不僅僅是處理總問題的框架,也是處理組成總問題的子問題的框架,這個框架具有公用性,要適用這種公用性,就可以推斷得出,這類問題的結構就有遞迴性質 從前有座上,山上...