一. 什么是二分查找
二分查找又称为折半查找,该算法的思想是将数列按序排列,采用跳跃式方法进行查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。以此类推不断缩小搜索范围。
二. 二分查找的条件
二分查找的先决条件是查找的数列必须是有序的。
三. 二分查找的优缺点
优点:比较次数少,查找速度快,平均性能好;...
分类:
编程语言 时间:
2014-07-22 23:00:14
阅读次数:
512
题设:设数组a[0],…,a[n-1]中存放着n>=1个已由小到大排序的不同整数,判断整数x是否在数组a中。若是,返回j,使得x=a[j];否则,返回-1。题解:利用数组中的整数已排序的性质,可以设计高效的求解算法。令left和right分别表示当前需要查找的数组部分的起点与终点下标。初始时,lef...
分类:
其他好文 时间:
2014-07-22 22:37:13
阅读次数:
170
2014-7-6 flyfish
在初始阶段会有大量数据增删改,而后期很少有更改,后期大部分是查询操作。
建立索引,使用排序的vector,使用二分法查找
以用户信息为例
用户信息包括,ID,名字,性别,手机号码
class CGender
{
public:
enum
{
Female=0,
Male=1,
NotSpecified=2
};
};
clas...
分类:
编程语言 时间:
2014-07-08 17:15:16
阅读次数:
237
var indexOfSorted = function f(arr,n){
//assume : arr has been sorted
var low = 0;
var high = arr.length - 1;
var mid = (low + high) / 2;
while(high - low > 1){
if(n == arr[low]){return low...
分类:
Web程序 时间:
2014-06-30 08:54:10
阅读次数:
978
Java二分法查找的源代码: 二分查找是一种高效率线性表的查找算法。在查找时必须将线性表中的关键词排好序。基本思路是:先断定线性表的中心方位 mid=(first+last)/2;对比所要查找的关键词 key与中心方位的关键词的巨细,假如比key和mid.key持平则回来; key比mid.key大...
分类:
编程语言 时间:
2014-06-14 22:24:17
阅读次数:
343
Java二分法查找的源代码:二分查找是一种高效率线性表的查找算法。在查找时必须将线性表中的关键词排好序。基本思路是:先断定线性表的中心方位mid=(first+last)/2;对比所要查找的关键词key与中心方位的关键词的巨细,假如比key和mid.key持平则回来;key比mid.key大(假定为升..
分类:
编程语言 时间:
2014-06-13 21:05:10
阅读次数:
436
二分查找图二叉树:代码#!/usr/bin/python#-*-coding:utf-8-*-#----------------------------------------------------------------------------------------#
to_do : bin....
分类:
编程语言 时间:
2014-06-09 23:06:48
阅读次数:
295