import cProfile
import random
import math
data = range(1, 100000)
def test():
count = 0
while count < 1000:
count = count + 1
# random.randint 获得一个目标值
target = random.randint(0, 100000)
Binary(data, target)
def BinarySearch(list, target):
mid = math.ceil(len(list) / 2)
index = mid - 1
if target == list[index]:
print("找到目标值:", target)
elif target > list[index]:
# 目标值比中间值大,则目标值肯定在右边(右侧数据中)
BinarySearch(list[mid:len(list)], target)
else:
# 目标值比中间值小,则目标值肯定在左边(左侧数据中)
BinarySearch(list[0:mid], target)
cProfile.run("test()")
二分查找算法
最新推荐文章于 2024-09-27 10:11:28 发布