Python中二分法查找代码怎么写?Python如何用二分法查找指定值

在python程序的开发过程之中,要从一个数据结构之中将某个值或者元素,是一个很常见的需求或者实现某个功能所必须的方法 。而一些刚开始接触python的小伙伴就不是很清楚该怎么去写python二分法查找的实现代码,那么下面这篇文章要讲解的知识就要仔细阅读了 。

Python中二分法查找代码怎么写?Python如何用二分法查找指定值

文章插图
【Python中二分法查找代码怎么写?Python如何用二分法查找指定值】1.二分法指的就是将需要查找的目标进行排序之后分为高低两段,然后计算出其中的中位数,在根据要查找的值和中位数的大小判断该去哪一段进行查找 。
而在查找的过程之中是需要不断重复地执行查询操作,所以就还需要使用函数递归的方式执行该操作 。首先将包含查询目标的数据结构给定义好,然后创建三个参数的函数 。这三个参数分别表示高低两段以及查询内容,示例如下:
array = [1, 3, 4, 6, 7, 8, 9, 11, 15, 17, 19, 21, 22, 25, 29, 33, 38, 69,99,107]def BinarySearch(low,height,findNum):2.那么在上一步提到了进行二分法查找还需要使用到中位数,用两个参数加起来除以2即可得到,示例如下:
middle = (low+height)//23.然后就是该函数的关键了,先用if条件判断查找值是否大于中位数,如果是的话就在高段进行查找,反之则在低段进行查找 。最后使用else将查询到的值索引返回出去即可,而为了重复执行查找代码,就要在函数内调用本身,详细代码示例如下所示:
if findNum >array[middle]:        low = middle +1    elif findNum<array[middle]:        height = middle - 1    else:        return ':%s,值为:%s'%(middle,array[middle])    return BinarySearch(low,height,findNum)print(BinarySearch(array[0],len(array)-1,19))以上就是关于“Python中二分法查找代码怎么写?Python如何用二分法查找指定值”的全部内容了,希望对你有所帮助 。

    推荐阅读