二分查找
来源:互联网 发布:宝贝标题优化技巧 编辑:程序博客网 时间:2024/06/06 01:19
二分查找:
1. 算法描述:如果序列A已排好序,就可以将该序列的中点与v进行比较。根据比较的结果,原序列中就有一半可以不用再做进一步的考虑了。
2. 算法的代码实现:
#include<iostream>
#include<vector>
usingnamespace std;
//a升序排列
intBINARY_FIND(vector<int>a, int key)
{
unsigned Left_pos = 0;
unsigned Right_pos = a.size() - 1;
unsigned k = (Left_pos + Right_pos)/2;
while((key != a[k]) && (k >0)&& (k < a.size()))
{
if(key > a[k])
Left_pos = k + 1;
else
Right_pos = k - 1;
k = (Left_pos + Right_pos)/2;
}
if(key == a[k])
return k;
else
return -1;
}
intmain()
{
int a[] = {1, 3, 5, 7, 8, 9,45};
vector<int>b(a, a+7);
int c = BINARY_FIND(b, 0);
if(c != -1)
cout << b[c] << " isin the: " << c+1 << endl;
else
cout << "the key is notexit" << endl;
return 0;
}
3.算法运行时间的增长率:lgn
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- ERROR合集(个人调试笔记)
- Oracle CLOB 字段插入时提示字符过长
- poj_1845
- maven 本地安装库
- C++第八题20150327
- 二分查找
- phonegap iOS Platform Guide
- Linux 常用快捷键大全
- Struts2_Result
- 解决电脑“卡机”全攻略
- Android————————Handler
- AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误
- AIX系统日志
- 关于nagios系统下使用shell脚本自定义监控插件的编写