欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Python中怎么利用遞歸算法實(shí)現(xiàn)漢諾塔-創(chuàng)新互聯(lián)

本篇文章為大家展示了Python中怎么利用遞歸算法實(shí)現(xiàn)漢諾塔,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

專業(yè)領(lǐng)域包括成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、購(gòu)物商城網(wǎng)站建設(shè)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。

1. 找出Fibonacci數(shù)列中,下標(biāo)為 n 的數(shù)(下標(biāo)從0計(jì)數(shù))

Fibonacci數(shù)列的形式是這樣的:0,1,1,2,3,5,8,13……

① 使用while循環(huán),python2代碼如下:

def fib(n):
  a,b=0,1
  count=0
  while count<n:
    a,b=b,a+b
    count=count+1
  print a

運(yùn)行結(jié)果如下:

>>> fib(0)
0
>>> fib(1)
1
>>> fib(2)
1
>>> fib(3)
2
>>> fib(4)
3
>>> fib(5)
5

② 使用遞歸(遞歸必須要有邊界條件),python2代碼如下:

def fib(n):
  if n==0 or n==1:#遞歸的邊界條件
    return n
  else:
    return fib(n-1)+fib(n-2)

運(yùn)行結(jié)果如下:

>>> fib(0)
0
>>> fib(1)
1
>>> fib(2)
1
>>> fib(3)
2
>>> fib(4)
3
>>> fib(5)
5

遞歸是最能表現(xiàn)計(jì)算思維的算法之一,我們以f(4)為例,看一下遞歸的執(zhí)行過程:

Python中怎么利用遞歸算法實(shí)現(xiàn)漢諾塔

同一程序,使用遞歸雖然程序簡(jiǎn)潔,但遞歸的執(zhí)行效率要比循環(huán)低,系統(tǒng)的資源消耗比循環(huán)大。因?yàn)檫f歸是一層一層地往里面調(diào)用,結(jié)束后又一層一層地返回,所以遞歸的執(zhí)行效率并不高。那為什么還要使用遞歸呢?因?yàn)橛幸恍﹩栴},我們找不到非常明顯的循環(huán)方案,但容易找到明顯的遞歸方案。比如說著名的漢諾塔問題。

2. 漢諾塔

下圖是一個(gè)簡(jiǎn)化版的漢諾塔游戲,只有4個(gè)盤子:

Python中怎么利用遞歸算法實(shí)現(xiàn)漢諾塔

漢諾塔游戲規(guī)則如下:

Python中怎么利用遞歸算法實(shí)現(xiàn)漢諾塔

python2代碼如下:

def hanoi(a,b,c,n):
  if n==1:#遞歸結(jié)束條件
    print a,'->',c
  else:
    hanoi(a,c,b,n-1)
    print a,'->',c
    hanoi(b,a,c,n-1)

運(yùn)行結(jié)果:

>>> hanoi('A','B','C',1)
A -> C
>>> hanoi('A','B','C',2)
A -> B
A -> C
B -> C
>>> hanoi('A','B','C',3)
A -> C
A -> B
C -> B
A -> C
B -> A
B -> C
A -> C

上述內(nèi)容就是Python中怎么利用遞歸算法實(shí)現(xiàn)漢諾塔,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享題目:Python中怎么利用遞歸算法實(shí)現(xiàn)漢諾塔-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://chinadenli.net/article16/gsidg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)手機(jī)網(wǎng)站建設(shè)ChatGPT網(wǎng)站內(nèi)鏈小程序開發(fā)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化