python實現遞迴的例子

2021-08-10 13:40:21 字數 1262 閱讀 7104

def

func

(n):

if n == 1:

return

1else:

return n * func(n-1)

def

fibo

(n):

if n == 1

or n == 2:

return

1else:

return fibo(n-1) + fibo(n-2)

def

b_sort

(l, aim, start=0, end=none):

if end == none: end = len(l)-1

if start <= end:

mid = (end-start) // 2 + start #保證每次都是相應的數列位置

if aim < l[mid]:

return b_sort(l, aim, start, mid-1)

elif l[mid] < aim:

return b_sort(l, aim, mid+1, end)

else:

return mid,aim

else:

print('您輸入的值不存在!')

不用遞迴的二分查詢

def binary_sort(l, aim, start=0, end=none):

ifend = none: end = len(l)-1

while start<=end:

mid = (end+start)//2

if aim < l[mid]:

end = mid - 1

elif l[mid] < aim:

start = mid + 1

else:

return

mid

def

move

(n, a, b, c):

if n == 1:

print('{}-->{}'.format(a,c))

return

move(n-1, a, c, b) # 將漢諾塔看成最底下和其他兩層,先將上面的移到b位置

move(1, a, b, c) # 將最底下的移到c位置

move(n-1, b, a, c) # 將上面的從b位置移到c位置 層層遞迴都是這樣

典型遞迴演算法例子 Python實現

usr bin python coding utf 8 created on 2012 9 25 author linzuxin status def factorial n 輸入乙個數字,求其階乘。status是乙個hash,用來儲存中間結果,避免重複計算 param n 要求的數字 return...

遞迴的例子

遞迴 1 首先考慮極端情況,什麼時候停止 2 每一種發生的情況是否都考慮了 3 方法內部遇到重複幹這件事的時候,呼叫該方法即可 public static void main string args 使用當前的數字累加之前的每乙個數字 paramn return publicstaticintadd...

python遞迴實現 遞迴演算法 python實現

在函式的定義中對這個函式自身的呼叫,就是遞迴。遞迴結構中,遞迴的部分必須比原來的整體簡單,才有可能到達某種終結點 出口 而且必須存在非遞迴的基本結構構成的部分,否則會無限遞迴。學習目標 程式設計實現斐波那契數列求值 f n f n 1 f n 2 程式設計實現求階乘 n 程式設計實現一組資料集合的全...