10.递归是神马?recursion
生活随笔
收集整理的這篇文章主要介紹了
10.递归是神马?recursion
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遞歸的缺點:
- 進棧出棧
- 效率低
遞歸:函數調用自身
漢諾塔
樹結構的定義
謝爾賓斯基三角形
【實例】
階 乘>>> def n(x):if x<0:print "x<0,Error!\n"elif x==0 or x==1:return 1else:return x*n(x-1)>>> n(-1) x<0,Error!>>> n(4) 24 >>> 斐波那契數列 def fab(x):if x<=0:print('Error!')elif x==1 or x==2:return 1else:return fab(x-1)+fab(x-2)>>> print(fab(-9)) Error! >>> print(fab(9)) 34 >>> 漢諾塔 >>> def hanoi(n , A , B , C):if n==1:print(A,'-->',C)else:hanoi(n-1 , A , C , B) #將A上的前n-1個盤子借助C移動到B上print(A,'-->',C) #將A上的第n個盤子移動到C上hanoi(n-1 , B , A , C) #將B上的n-1個盤子借助A移動到C上>>> hanoi(4,'A','B','C') ('A', '-->', 'B') ('A', '-->', 'C') ('B', '-->', 'C') ('A', '-->', 'B') ('C', '-->', 'A') ('C', '-->', 'B') ('A', '-->', 'B') ('A', '-->', 'C') ('B', '-->', 'C') ('B', '-->', 'A') ('C', '-->', 'A') ('B', '-->', 'C') ('A', '-->', 'B') ('A', '-->', 'C') ('B', '-->', 'C')總結
以上是生活随笔為你收集整理的10.递归是神马?recursion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9.匿名函数:lambda表达式/fil
- 下一篇: 11.字典:当索引不好用时