搜素

二分法查找(只适用于有序的顺序表)

搜素_第1张图片

def binary_search(alist,item):
	'''二分查找,递归'''
	n=len(alist)
	if n > 0:
		mid=n//2
		if alist[mid]==item:
			return True
		elif item
def binary_search_2(alist,item):
	'''二分查找,非递归'''
	n=len(alist)
	first=0
	last=n-1
	while first<=last:
		mid=(first+last)//2
		if alist[mid] == item:
			return True
		elif item

时间复杂度

  • 最优时间复杂度:O(1)
  • 最坏时间复杂度:O(log2n)

你可能感兴趣的:(搜素)