nums = [-3,4,7,10,13,21,43,77,89]
find_num = 10
for num in nums:
if num == find_num:
print('find it')
break
# 思路
# def binary_search(find_num,列表):
# mid_value = 找列表中間的值
# if find_num > mid_value:
# # 接下來的查詢應該是列表的右半部分
# # 列表 = 列表切片 切出右半部分
# # 本身的**(列表)
# binary_search(find_num,列表)
# elif find_num < mid_value:
# # 接下來的查詢應該是列表的左半部分
# # 列表 = 列表切片 切出左半部分
# # 本身的**(列表)
# binary_search(find_num,列表)
# else:
# print('find it')
nums = [-3, 4, 7, 10, 13, 21, 43, 77, 89]
find_num = 10
def binary_search(find_num, l):
print(l)
if len(l) == 0:
print('找的值不存在')
return
mid_index = len(l) // 2
if find_num > l[mid_index]:
# 接下來的查詢應該是列表的右半部分
# 列表 = 列表切片 切出右半部分
l = l[mid_index + 1:]
# 本身的**(列表)
binary_search(find_num, l)
elif find_num < l[mid_index]:
# 接下來的查詢應該是列表的左半部分
# 列表 = 列表切片 切出左半部分
l = l[:mid_index]
# 本身的**(列表)
binary_search(find_num, l)
else:
print('find it')
binary_search(find_num, nums)
python二分法查詢 Python 二分法查詢
二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...
Python 二分法查詢
二分法演算法原理 陣列是有序陣列,確定該期間的中間位置center 將查詢的值key與array center 比較。若相等,查詢成功返回此位置 否則確定新的查詢區域,繼續二分查詢。新區域的確定 如果key arrey center 則起始位置變為center 1,結束位置不變 如果key 每一次查...