在函式中呼叫函式本身自己。執行一次開闢乙個空間,python對你的記憶體有乙個保護機制,預設只能遞迴到998層。
defview codefunc(n):
n += 1
(n) func(n)
func(0)
二分查詢前提是有序且唯一的數字列表。
li = [1,21,30,32,44,55,56,433,]def search(num,l,start=none,end=none):
start = start if start else
0 end = end if end else len(l) - 1mid = (end - start)//2 +start
if start >end:
return
none
elif l[mid] >num :
return search(num,l,start,mid-1)
elif l[mid]
return search(num,l,mid+1,end)
elif l[mid] ==num:
return
midprint(search(44,li))
二分查詢和遞迴的二分查詢
在乙個有序的陣列中查詢給定的資料項,把陣列衝中間分成兩半,然後看要查詢的資料項在陣列的哪一半,再次折半查詢。如下 public int find long searchkey else if lowerbound upperbound else private int recfind long se...
二分查詢 遞迴和非遞迴
二分查詢要求 資料儲存在順序儲存結構中 數字有序排放 原理 將陣列分為三部分,依次是左值,中值,右值 將要查詢的值和陣列的中值進行比較,若小於中值則在中值前 面找,若大於中值則在中值後面找,等於中值時直接返回。然後依次是乙個遞迴過程,將前半部分或者後半部分繼續分解為三部分。迴圈實現二分查詢 temp...
二分查詢(遞迴)
二分查詢 problem description 給出含有n個數的公升序序列,保證序列中的數兩兩不相等,這n個數編號從1 到n。然後給出q次詢問,每次詢問給出乙個數x,若x存在於此序列中,則輸出其編號,否則輸出 1。input 單組輸入。首先輸入乙個整數n 1 n n 3000000 接下的一行包含...