1. 二分法查找是一种非常高效的搜索方法,主要原理是每次搜索可以抛弃一半的值来缩小范围。
2. 二分法查找的时间复杂度是O(logn)
3. 二分法查找的适用情况一般满足以下几点:(1). 该数组数据量巨大;{2}. 该数组已经排序;(3). 一般要求找到的是某一个值
4. 判定该题需要用到二分法的条件:(1). 需要对一道时间复杂度为n的题目进行优化;(2). 在题目中提到给到的数组已排序;(3). 只搜索一个值或一个位置
下图简要的说明了二分法的思想:4为查找的元素
C++代码如下:
#include<iostream>
using namespace std;
int main()
{
int n = 10;//初始化n
cout << "please input a number" <<endl;
cin >> n;
int *a = new int[n];//a是一个指向动态内存的int型指针,使用new,构建一块动态内存,用来存放数组a
cout << "please input " << n << " numbers" << endl;
for (int i = 0; i < n; ++i)//输入数组元素,注意:数组下标从0开始
{
int