二分查找

1 有序数组中找到num

代码位置:BinarySearchNumInArray

2 有序数组中找到>=num的最左值

代码位置:BinarySearchMoreThanNumTheLeft

3 有序数组中找到<=num的最右值

代码位置:BinarySearchLessThanNumTheRight

4 局部最小值问题。

数组无序,任意两个相邻位置不等。如果满足局部最小,返回。

局部最小定义

1 如果a[0]2 如果a[n-2]>a[n-1] 那n-1位置就是局部最小
3 如果a[i-1]>a[i]

代码位置:BinarySearchNumInArray

复杂度:

描述发生了几次常数操作的指标。

常数操作:某一个操作和数据量无关,固定时间。这样的操作。
比如1+1和100万+100万,两个都是整型。相加的时间都是一样的,和数据量无关。加减乘除都一样。
比如地址寻址,在数组里把3位置和3000位置的数取出来。
调用某个语句时,可能有传参,看其是固定时间内能完成还是不能完成。固定时间内能完成就是常数操作