#!/usr/bin/python # -*- coding:utf-8 -*- # 非递归实现二分查找 def bisearch1(lis,num): low = 0 high = len(lis)-1 while low <= high: mid = (low + high) // 2 if num < lis[mid]: high = mid-1 elif num > lis[mid]: low = mid+1 else: return mid return -1 lis = [1,2,3,4,5,6,7,8,9] index = bisearch1(lis,5) print(index) # 递归实现二分查找 def bisearch2(lis,low,high,num): if low > high: return -1 while low <= high: mid = (low + high) // 2 if num < lis[mid]: high = mid-1 elif num > lis[mid]: low = mid+1 else: return mid bisearch2(lis,low,high,num) index2 = bisearch2(lis,0,len(lis),9) print(index2)
python实现二分查找
最新推荐文章于 2023-04-16 22:23:39 发布