这个是个主要的查找算法。由于仅仅是把数读入就须要(N)的时间量,因此我们在说这类问题的时候都是如果读入过的。

在算法经常使用的时间。将问题缩小为一部分(大约1/2),那么我们就觉得这个算法是O(logn)级别的。

先说下对分查找的时间复杂度为O(logn)

前提是已经拍序好的数列。

//
// main.cpp
// binarySearch
//
// Created by Alps on 14-7-24.
// Copyright (c) 2014年 chen. All rights reserved.
// #include <iostream> int binarySearch(const int A[], int X, int N){
int start = 0, end = 0, mid;
end = N;
while (start <= end) {
mid = (start + end)/2;
if (X > A[mid]) {
start = mid+1;
continue;
}else if (X < A[mid]){
end = mid-1;
continue;
}else{
return mid;
}
}
return -1;
} int main(int argc, const char * argv[])
{
int A[]={1 ,4 , 6, 8, 19, 34, 93};
int N = sizeof(A)/sizeof(int);
int X = 19; int locate = binarySearch(A, X, N);
if (locate == -1) {
printf("Can't find the element %d\n",X);
}else{
printf("The element %d is locate in %d\n",X,locate);
} return 0;
}

这里面没什么原理。

。问题非常easy~

最新文章

  1. Java实现Excel中的NORMSDIST函数和NORMSINV函数
  2. 一个可随意定位置的带色Toast——开源代码Crouton的简单使用
  3. ueditor 百度编辑器,取消或自定义右键菜单
  4. [NHibernate]视图处理
  5. [转]SQL 操作结果集 -并集、差集、交集、结果集排序
  6. Java链表
  7. JavaSE配置文件java.util.Properties【单例模式Singleton】
  8. a++累加
  9. 黑马程序员——JAVA基础之包,权限
  10. hdu 3549 Flow Problem 网络流
  11. 通过 CALayer 代理方法绘图
  12. Jquery类级别与对象级别插件开发
  13. [DevExpress]ChartControl之SeriesTemplate示例
  14. Windows下的SVN环境搭建详解
  15. Ubuntu安装Mysql及使用
  16. jQuery 获取和设置type为hidden的input的值
  17. [CODEVS 1288]埃及分数
  18. BUGKU Misc 普通的二维码
  19. Android为TV端助力context转换类型
  20. common lisp的几个基本概念

热门文章

  1. Tomcat会话超时时怎样记录操作日志,满足安全审计要求
  2. Python print 语句(Python 2 与 Python 3)
  3. 面向对象(OO)基础
  4. C#导出EXCEL(DataTable导出EXCEL)
  5. Kinect 开发 —— 图片浏览
  6. C# 将引用的DLL文件放到指定的目录下
  7. Python - 字典按值(value)排序
  8. 修改android的wifi客户端名称的两种方法
  9. 类名引用static变量好处
  10. http 协议上传文件multipart form-data boundary 说明--转载