Python语言如何实现二分法查找?Python二分法算法如何进行有序查找?

我们说的二分法也就是二分查找,它是一种效率较高的查找方法,进行会对一个有序列表进行操作,这篇文章主要介绍了Python语言如何实现二分法查找?Python二分法算法如何进行有序查找?文章内容清晰,需要的小伙伴可以参考一下,下面一起来了解一下吧!

Python语言如何实现二分法查找?Python二分法算法如何进行有序查找?

文章插图
二分法这种算法,在对Python的学习中,使用的还是比较多的,它可以让我们的查找效率提高,一般都会用在对大量的数据的排查中 。二分法的查找速度比简单的查找速度会更快,但是二分法只适合在有序的列表中进行操作 。下面通过具体的实现步骤来来进行讲解:
1、我们要设置一个中心点,来将整个数据分成两个部分,这个中心点就是将我们的查找数据范围缩小,中位数的设定就是首位加上末尾的和除以2 。
2、将需要查找的数据与中位数进行对比,如果大于中位数就放弃对中位数左边的数进行查找,相反,就放弃对右边的数进行查找 。
【Python语言如何实现二分法查找?Python二分法算法如何进行有序查找?】3、在查找出来的范围中,又重新对一个中位数进行定义 。
4、将查找的数据与中位数进行对比,确定一个新的查找范围 。
5、循环以上的步骤,直到将我们需要的数据进行找出为止 。
举个例子:
array = [1,3,4,6,7,8,9,11,23,45,34,34,44,67,78,90]low = 0height = len(array)-1findNum = 23while True:    m = int((low+height)/2)     print(array[m])    if array[m] < findNum:             low = m + 1       elif array[m] > findNum:               height = m - 1       elif array[m]==findNum:        print('find it:',array[m],' index:',m)在这个示例中,我们先确定了一组数据,如何对这组数据进行二分法的处理,首先是对首位数和末尾数进行处理,设置一个需要查找的数,使用while进行循环查找,mid表示的是对一个中心点进行获取,将需要查找的数据与中位数进行对比,如果大于中位数就放弃对中位数左边的数进行查找,相反,就放弃对右边的数进行查找 。
有关Python语言如何实现二分法查找?Python二分法算法如何进行有序查找?的内容就介绍到这里了,希望通过文章的介绍,能让大家更好的了解有关Python中二分法的操作 。

    推荐阅读