# 用于有序序列 li = 列表 ,itme = 查找元素 ,返回True or False
def dichotomy_seek(li,itme):
n=len(li)
if n<1:
return False
middle_pk=n//2
# 判断中间元素是否相等
if li[middle_pk]==itme:
return True
# 判断前后剩余元素是否相等
elif li[middle_pk]>itme:
return dichotomy_seek(li[0:middle_pk],itme)
elif li[middle_pk]<itme:
return dichotomy_seek(li[middle_pk+1:n],itme)
if __name__=="__main__":
li=[1,2,3,4,6,7,8,9]
print(dichotomy_seek(li,1))
print(dichotomy_seek(li,6))
print(dichotomy_seek(li,9))
python 二分法递归搜索
最新推荐文章于 2024-03-16 00:36:36 发布