在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如何用二分法查找指定值”的全部内容了,希望对你有所帮助 。
推荐阅读
- Python代码出现错误怎么修改?代码输入错误的解决方法
- Python科学计数法的符号怎么表示?Python中e符号的表示方法
- Python如何计算字符串长度?Python计算字符串长度的函数
- Python中阶乘怎么表示?Python中阶乘的表示方法
- Python如何判断输入的数是否为素数?Python判断输入的数是否为素数的方法
- 怎样在python中sum求和?Python中求和函数sum的用法详解
- 如何在命令行窗口中运行Python脚本?通过cmd进入python的方法
- 如何利用Python函数求导数?Python函数求导数的方法
- DataFrame如何分组统计?Python数据结构DF怎么分组统计
- Python集合如何添加元素?Python给集合添加元素的方法是什么