資源簡介 (共19張PPT)遞歸1 遞歸的概念3 遞歸算法的設計方法遞歸2 遞歸算法的執(zhí)行過程遞歸(把問題不斷分解為可操作性的小問題)(把小問題的結(jié)果返回給大問題,達到最終目的)遞歸終結(jié)條件大問題的解決中嵌套著與原問題相似的規(guī)模較小的問題,這種問題的解決方法在計算機科學中稱為遞歸,它通過函數(shù)自己調(diào)用自己來實現(xiàn),即一個函數(shù)在其定義中直接或間接調(diào)用自身的一種方法。遞歸的概念階乘的定義:一個正整數(shù)的階乘是所有小于及等于該數(shù)的正整數(shù)的乘積。遞歸算法的執(zhí)行過程——求階乘n!= n*(n-1)!n != n *(n-1)*…*2*1(n-1)!= (n-1)*…*2*1遞歸規(guī)律1 (n=1)f(n)=n*f(n-1 )( n>1 )def f (n):if n == 1:return 1else:return n* f(n-1 )print(f(5))f(5)=5*f (4)f(4)=4*f (3)遞推f(3)=3*f (2)遞推f(2)=2*f (1)遞推f(1)=1遞推5!=?回歸:11回歸:22回歸:66回歸:2424def f (n):if n == 1:return 1else:return n* f(n-1 )print(f(5))5!=120遞歸=遞推+回歸遞歸算法的執(zhí)行過程——求階乘操作演示遞歸算法的設計方法把原問題分解成若干個相對簡單且類型相同的小問題,這樣復雜的原問題就變成相對簡單的子問題,而簡單到一定程度的子問題可以直接求解,最終原問題就可以通過遞推得到解答。設計方法1.能夠歸納出恰當?shù)倪f歸公式。2.必須要有一個明確的遞歸終止條件。探究活動——求解斐波那契數(shù)列一對剛出生的小兔子,一個月后就能成長為成年兔,再過一個月后(即第三個月起)就每月生一對兔子。新生的兔子也按這個規(guī)律繁殖。現(xiàn)在僅有一對剛出生的小兔子,問在沒有兔子死亡的情況下,一年后總共繁殖成多少對兔子。意大利數(shù)學家斐波那契分析表 一月二月三月四月五月1對2對3對5對1對分 析 表 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月小兔 1 1 1 2 3 5 8 13 21 34 55大兔 1 1 2 3 5 8 13 21 34 55 89合計 1 1 2 3 5 8 13 21 34 55 89 144+=+=+=+=+=+=+=+=+=+=數(shù)列規(guī)律:從第三項開始,后面的數(shù)總是前兩數(shù)之和數(shù)列規(guī)律:從第三項開始,后面的數(shù)總是前兩數(shù)之和遞歸終結(jié)條件def f(n):if n == 1 or n == 2:return 1else:return f(n-1) + f(n-2)print(f(12))分 析 表 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月小兔 1 1 1 2 3 5 8 13 21 34 55大兔 1 1 2 3 5 8 13 21 34 55 89合計 1 1 2 3 5 8 13 21 34 55 89 144+=1 n=11 n=2f(n-1) + f(n-2) n>2f(n)=遞歸公式def f(n):if n == 1 or n == 2:return 1else:return f(n-1) + f(n-2)print(f(5))斐波那契數(shù)列求解的執(zhí)行過程主程序f(5)函數(shù)f(4)函數(shù)f(3)函數(shù)f(3)函數(shù)f(2) =1函數(shù)f(2) =1函數(shù)f(1)=1函數(shù)f(2)=1函數(shù)f(1)=1操作演示知識拓展——斐波那契數(shù)列螺旋線斐波那契螺旋線也稱為“黃金螺旋線”,是以斐波那契數(shù)列數(shù)字為半徑,連續(xù)繪制圓弧得到的螺旋線。知識拓展——斐波那契數(shù)列螺旋線課堂小結(jié)遞歸遞歸的概念把問題轉(zhuǎn)化為規(guī)模較小的同類子問題,通過函數(shù)自己調(diào)用自己來實現(xiàn)。遞歸算法的執(zhí)行過程遞歸算法的設計方法先傳遞,再回歸1.能夠歸納出恰當?shù)倪f歸公式。2.必須要有一個明確的遞歸終結(jié)條件謝謝 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫