标签:下标 eve 分享图片 结束 data font close span search
二分查找只能在有序的列表内进行查找
1. 在一个有序的列表内,查找你想要的数字.
2. 先设定起始下标,与结束下标,然后取出中间下标的值
3. 让中间坐标的值,与要查找的值进行比对
1.如果中间值等于要查找的值,直接返回中间值
2.如果中间值,小于要查找的值,那么将中间值的下标加一,作为下一次查找的起始下标
3.如果中间值,大于要查找的值,那么将中间值的下标减一作为下一次查找的终止下标
4. 按照此原理直到找到为止
def bin_search(data, find_num): first = 0 last = len(data)-1 while first <= last: mid = (first+last)//2 if data[mid] == find_num: return mid if data[mid] < find_num: first = mid + 1 if data[mid] > find_num: last = mid - 1
def bin_search(data, find_num): # 起始下标 first = 0 # 终止下标 last = len(data)-1 # 如果这个序列不为空就要一直查找 while first <= last: # 设置中间下标, mid = (first+last)//2 # 如果中间的数, 等于要查找的数, 返回这个数的下标 if data[mid] == find_num: return mid # 如果中间的数, 小于要查找的数, 将中间数的下标加一, 作为下一步要查找的起始下标 if data[mid] < find_num: first = mid + 1 # 如果中间的数, 大于要查找的数, 将中间数的下标减一, 作为下一步要查找的末尾下标 if data[mid] > find_num: last = mid - 1
def bin_search(data, find_num): first = 0 last = len(data) - 1 mid = (first + last) // 2 if data[mid] == find_num: return mid elif data[mid] < find_num: bin_search(data, mid + 1, find_num) else: bin_search(data, first, mid - 1)
标签:下标 eve 分享图片 结束 data font close span search
原文地址:https://www.cnblogs.com/amou/p/9058280.html