遞歸教學課件_第1頁
遞歸教學課件_第2頁
遞歸教學課件_第3頁
遞歸教學課件_第4頁
遞歸教學課件_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第5章遞歸(Recurve)

定義:若一個對象部分地包含它自己,或用它自己給自己定義,則

稱這個對象是遞歸的;而且一個過程直接地或間接地調(diào)用自

己,則稱這個過程是遞歸的過程。

應用:

(1)用于某些概念的定義:

階乘:if(n>0)n!=n(n-1)!

if(n=0)n!=1

單鏈表結點:

template<classType>classListNode

{private:

Typedata;

ListNode<Type>*Link;

二叉樹:二叉樹是數(shù)據(jù)元素的有窮集合,它或者為空集(空

二叉樹),或者由一個根元素和其下的兩棵互不相

交的二叉樹(左子樹和右子樹)構成。

2011-6-30

(2)用于編程

longf(longn)

〃求自然數(shù)n的階乘n!,n>=0

{if(n=0)return1;

elsereturnn*f(n-1);

)

遞歸算法的優(yōu)點:易編程、可讀性好、易檢驗

可用歸納思維方法來理解和檢驗遞歸算法,但有一個基本條件

和兩個步驟:

基本條件:規(guī)格說明必須嚴格、精確地規(guī)定算法的功能、

入/出口信息、對外層量或全局量的影響

步驟一:歸納基始——驗證算法對于最簡單情況(遞歸出

口)的正確性

步驟二:由歸納假設進行歸納——假設算法中的遞歸調(diào)用

能正確實現(xiàn)規(guī)格說明之規(guī)定,然后驗證整個算法

能否實現(xiàn)規(guī)格說明之規(guī)定

2011-6-302

遞歸算法舉例——迷宮問題遞歸算法

voidRecurveSeek(inti,j)

〃進入時(i,j)是一通道塊,尚未印足跡,不在當前路徑上。本函數(shù)

〃從(i,j)起探索并輸出以此時當前路徑為前綴的所有成功的簡單路

〃徑,退出時狀態(tài)同進入時狀態(tài)

{maze[i][j]=U;〃印足跡,歸入當前路徑

if(i==n&&j=n)printmaze();〃簡單情況

elsefbr(k=0;kv4;k++)//試探東南西北四個方向

if(maze[i+di[k]][j+dj[k]]==66)〃若下一塊是通道

RecurveSeek(i+di[k],j+dj[k]);〃則遞歸調(diào)用

maze[i,j]=—;〃回溯,恢復進入時狀態(tài)

假定入口為(0,0),則只需執(zhí)行下列函數(shù)調(diào)用即可找到迷宮的

所有簡單路徑:

RecurveSeek(0,0);

2011-6-303

5.3遞歸過程與遞歸工作棧

為了保證遞歸調(diào)用的正確性,需要保存調(diào)用點的現(xiàn)場(返回地

址、局部變量、被調(diào)用函數(shù)的參數(shù)等),以便正確地返回,并且按

先進后出的原則來管理這些信息。在高級語言(編譯程序)中,是

通過利用“遞歸工作棧”來實現(xiàn)遞歸調(diào)用的。

f(n)f(n-l)f(n-2)f(l)f(0)

調(diào)用時執(zhí)行入棧操作保存現(xiàn)場,返回時執(zhí)行出棧操作恢復現(xiàn)場

2011-6-304

計算4!遞歸過程圖示:

下圖中Pi代表現(xiàn)場信息,棧元素由現(xiàn)場信息和參數(shù)構成

共4尸4**3)一*3尸3**2)—>我2尸2*瑁)一"f(l)=l*f(O)一氏0尸1

Push(e4)Push(e3)Push(e2)Push(el)

p

Pop(e2)

P22P22

P332P33P33

P44P44

Pop(e4)

f(4)=4*.3).-----.)=3*氏2)一出2尸2*f(l)-f(l)=1*f(0)

一般來說,遞歸方法的執(zhí)行效率較低,但編程效率較高,因此

常用來構建快速原型。另外遞歸結構一般可以轉化成循環(huán)結構(有

時需要棧操作的配合)。試實現(xiàn)上述階乘計算的轉化(要求用棧)。

2011-6-305

2011-6-306

2011-6-307

SuccesswithMoneyandJoy

附落人生心語

?成功是一種觀念

?致富是一種義務

?快樂是一種權利

?每個人都有能力、有義

務、有權利辦到成功

致富快樂

附贈人生心語

成成功不是打敗別人

功成功不是超越別人

成功不是名、利、權的獲得

致?lián)碛薪】档纳眢w

豐足的物質(zhì)生活

富平衡的心理狀態(tài)

又才能擁有成功

快SuccesswithMoneyandJoy

戰(zhàn)勝自己

樂貢獻自己

扮演好自己的歷史角色

才能超越自己

融入成功里

附贈人生心語

知人者智,自知者明,勝人者力,自

勝者強。

——老子

附贈人生心語

?成功必須靠百分之九十八的辛勤血

汗,加上百分之二的天才靈感。

?世界上注定只有百分之二十的人會成

功。

附贈人生心語

成猶太諺語中有一句名言,

功會傷人的東西有三個:苦惱、爭吵、空的錢包。

其中最傷人的是——空的錢包。

致金錢本身并沒有善惡,

但沒有錢,

富卻的確是一件不幸的事情。

又所以,我們必須學習

快SuccesswithMoneyandJoy

重視財富,

樂管理財富,

更重要的是栗學會

正確地

使用自己的財富。

附贈人生心語

重財---重視自己的財富

孔子說:“不義而富且貴于我如浮云?!敝灰?/p>

是正正當當?shù)腻X,都應該被珍惜、被重視。

附贈人生心語

理財-----管理自己的財富

在貧苦和缺錢里掙扎的人,都有一個共同的特

點,就是不會理財,甚至不懂什么是理財。

附磨人生心語

增貝才----增加自己的財富

勞務收入

收入卜

財務收入

附霜人生心語

守貝才-----保護自己的財富

守財三原則:

?不賭錢

?不借錢

?不投資做生意

附贈人生心語

功春有百花秋有月,夏有涼風冬有雪

致若無閑事掛心頭,便是人間好時節(jié)

又SuccesswithMoneyandJoy

快快樂是一種角度

由反面看可能是苦,由正面看可能是樂

樂快樂是一項權利,沒有人能限制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論