标签:
概念
二分查找又称折半查找,它是一种效率较高的查找方法。它的时间复杂度为O(logn)
二分查找要求:有序的线性表
基本思想
二分查找的基本思想是划分当前查找区间,区间的范围一步一步的缩小,如果找到直接返回,反之直到区间只有一个元素时停止
实现
设R为一个值递增的有序线性表
实现步骤:
①R[mid]>key则表明key在区间的左边,所以low不变,high=mid-1
②R[mid]<key则表明key在区间的右边,所以high不变,low=mid+1
代码实现:
public int BinSearch(int[] array, int key) { int low = 0, high = array.Length - 1, mid; while (low <= high) { mid = (low + high) / 2; int curValue = array[mid]; if (curValue == key) return mid; if (curValue > key) { high = mid - 1; } else { low = mid + 1; } } return -1; }
标签:
原文地址:http://www.cnblogs.com/kongQ/p/5344491.html