算法-对分查找(二分查找)C++实现
来源:互联网 发布:淘宝有什么好的男鞋店 编辑:程序博客网 时间:2024/05/22 19:53
这个是个基本的查找算法,因为只是把数读入就需要(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;}
这里面没什么原理。。问题很简单~
0 0
- 算法-对分查找(二分查找)C++实现
- 对分查找(二分查找)
- C语言实现折半查找(二分查找)的算法
- 实现折半查找算法(二分查找)
- Java对查找算法的实现—二分查找(二)
- C 二分查找算法
- c 二分查找算法
- [C]算法 - 二分查找
- C 二分查找算法
- C 二分查找算法
- 二分查找分C++实现
- 二分查找算法的C/C++实现
- C语言实现二分查找算法
- C语言实现二分查找算法
- 二分查找算法的C语言实现
- c语言实现二分查找算法
- 用C语言实现二分查找算法
- 二分查找算法实现
- 使用System.arraycopy()实现数组之间的复制
- JavaKeyStore文件的生成与KeyPair的导出
- Statements and Declarations in Expressions
- 主席树 求区间第k大数(可修改)
- 优秀链接
- 算法-对分查找(二分查找)C++实现
- <7.24>新的启航 Android学习笔记(四)
- poj 1995 快速幂取模,核心是二分思想
- ls命令
- c++编码规范(二)
- cd命令
- Spring容器高级主题
- STL 算法
- 高质量的外链有哪些