首页 > 代码库 > 二分查找思想寻找有序数组中查找最小值

二分查找思想寻找有序数组中查找最小值

思想:循环有序数组最大的特点是利用二分查找时,有一边总是有序的,利用这个特点,利用value存储历史最小值

当左边有序,则用A[low]与value比较即可得出当前左边的最小值,然后跳转到右边看是否存在更小的;

如果右边有序,则用A[mid]与value比较,得出右边的最小值,然后跳转到左边查看是否有更小的。

算法复杂度为O(logn)

代码如下:

#include<iostream>
#include<stdio.h>
#include<assert.h>
using namespace std;
int Binary_Search(int *A,int size)
{
	assert(A != NULL);
	int low = 0;
	int value = http://www.mamicode.com/A[0];//初始化>


二分查找思想寻找有序数组中查找最小值