成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

python遞歸算法經(jīng)典實(shí)例 漢諾塔遞歸算法?

漢諾塔遞歸算法?1//河內(nèi)塔2#包括和酒店。H>3 void Hanoi(int n,char a,char b,char c)//這里表示在b列的幫助下將a列上的圖版移到c列4{if(1==n)

漢諾塔遞歸算法?

1//河內(nèi)塔

2#包括和酒店。H>

3 void Hanoi(int n,char a,char b,char c)//這里表示在b列的幫助下將a列上的圖版移到c列

4{if(1==n)//如果是圖版,將a列上的圖版移到c列

5{

6 Printf(%c-->%cn,a,c)

7}

8 else

9{

10 Hanoi n-1,a,c,b)//move n-1 plates on column a to column B with the column C

11 printf(%C-->%Cn“,a,C)//將a列的最后一塊板移到C列

12 Hanoi(n-1,B,a,C)//然后將B列的n-1板移到C

13}

14}

15 int main()

16{int n

17 printf輸入磁盤(pán)數(shù):”)

18 scanf(%d“,&n)

19 Hanoi(n,%a”,%B“,%C”)

20 return 0

21}

遞歸的主要思想是能夠重復(fù)一些操作,如簡(jiǎn)單階乘、冪、回溯中的八皇后、數(shù)獨(dú)、漢諾塔和分形。

由于堆棧機(jī)制,一般遞歸可以保持一些變量處于歷史狀態(tài),例如返回x*Power。。。您提到過(guò),但是有些問(wèn)題可能很大或太深,需要盡可能避免遞歸,因?yàn)槎褩?赡軙?huì)溢出。另一個(gè)

問(wèn)題是Python不支持尾部遞歸優(yōu)化

所以盡量避免遞歸。

Def power(x,n)

如果n< 0:

return 1

return x*power(x,n-1)

power(3,3)

3*power(3,2)

3*(3*power(3,1))

3*(3*power(3,0))

3*(3*1)),其中n=0,return 1

3*(3*3)

3*9

當(dāng)函數(shù)參數(shù)n=0時(shí),開(kāi)始撤退到第一次通電結(jié)束。