二分算法的定义不在多说了,百度一下就知道(支持国产)
import sys source = [1,2,3,4,5,6,7,8,9,10] #must be in order des = int(sys.argv[1]) low = 0 high = len(source) - 1 targetIndex = -1 print "des=",des while low <= high: middle = (low + high)/2 if des == source[middle]: targetIndex = middle break elif des < source[middle]: high = middle -1 print "middle element[index=",middle,",value=",source[middle],"] is bigger than des, continue search from[",low,"to",high,"]" else: low = middle + 1 print "middle element[index=",middle,",value=",source[middle],"] is smaller than des, continue search from[",low,"to",high,"]" print "search complete, target element's index in source list is ",targetIndex
运行结果如下:
相关推荐
二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:...
Python实现二分查找算法的详细指南
Python实现二分查找算法的详细讲解
在Python中,我们可以很容易地实现二分查找算法。以下是一个简单的实现: ```python def search2(a, m): low = 0 high = len(a) - 1 # 当low小于等于high时,继续查找 while low mid = (low + high) // 2 # ...
### Python3实现二分查找算法 #### 一、二分查找算法概述 二分查找算法是一种高效的搜索技术,主要用于在已排序的数组中查找特定的元素。与线性搜索相比,二分查找的时间复杂度更低,仅为 O(log n),这使得它在...
二分查找算法
以下是使用Python实现二分查找算法的详细步骤和注意事项: 1. 初始化搜索范围:设置搜索区间的下界`low`为0,上界`high`为列表长度减1。 2. 循环条件:只要`low`小于等于`high`,说明搜索区间仍然存在。 3. 计算...
在Python中,二分查找算法可以实现如下: ``` def binary_search(arr, x): low = 0 high = len(arr) - 1 mid = 0 while low mid = (high + low) // 2 if arr[mid] low = mid + 1 elif arr[mid] > x: high...
在本文中,我们将深入理解二分查找算法的基本思想,并通过Python代码示例来展示其具体实现。 二分查找的核心在于将查找问题分解为更小的子问题,直到找到目标值或确定目标值不存在。在每次迭代中,算法首先计算当前...
Python搜索算法——二分查找算法详解
以下是基于递归的二分查找算法的实现方法: 首先,我们需要理解递归的基本概念。递归是指一个函数在其定义中调用自身的过程。在二分查找中,我们将问题分解为两个更小的相同问题,即在数组的前半部分或后半部分继续...
3. **搜索算法**:如二分查找、广度优先搜索(BFS)、深度优先搜索(DFS)等,这些在解决图论问题和树结构问题时非常常见。 4. **图论算法**:包括Dijkstra最短路径算法、Floyd-Warshall所有对最短路径算法、Prim...
总的来说,这个资源提供了Python3实现非递归二分查找的例子,以及相关的单元测试,帮助学习者理解并实践这一高效搜索算法。通过学习和应用这种算法,开发者可以更好地处理大数据集的搜索问题,提升代码的效率。同时...
以下是对二分查找算法的详细说明: **1. 算法原理:** 二分查找首先确定数组中间元素,然后比较目标值与中间元素的大小关系。如果目标值等于中间元素,则查找成功;如果目标值小于中间元素,则在数组的左半部分继续...
了解这些细节对于实现一个高效的二分查找算法至关重要。在实际编程中,根据具体问题的特点和需求,可以选择合适的区间处理方式、计算mid的方法以及出界条件判断,以确保算法的正确性和效率。同时,熟悉这些相关题目...
在提供的"二分查找排序算法"文件中,应包含了详细的实例分析和注释清晰的Python代码,可以帮助读者更好地理解这个算法的工作原理和实现细节。通过学习和实践这个算法,你可以提升自己在算法设计和数据分析方面的能力...
在本篇文章中,我们将会探讨Python中的递归函数和二分查找算法,以及它们在实际问题中的应用。递归是一种强大的编程技术,它允许函数调用自身。二分查找算法是一种高效的搜索技术,适用于有序列表,通过反复将搜索...