一 时间复杂度和空间复杂度二 对数器三 二分法:二分不一定要有序,局部最优 一 时间复杂度和空间复杂度 常数时间操作(执行时间固定的操作):常见的算术运算、位运算、赋值、比较、自增、自减、数组寻址操作。选择排序 O(n2) 等差数列 最高项空间复杂度(与功能无关,你自己必须开辟的空间):只需要几个有限变量则是O(1) 开辟一个数组O(n)最优解:在时间复杂度指标一定要低,满足后用较少的空间复杂度。 一个问题入手点:数据状况、问题本身的奇葩 二 对数器 产生一个随机数组函数 GenerateRandomArray(int maxSize,int maxValue) 三 二分法:二分不一定要有序,局部最优在一个有序数组中,找某个数是否存在 遍历O(n) 二分查找O(log**2**N) 在一个有序数组中,找>=某个数最左侧的位置在一个有序数组中,找<=某个数最右侧的位置局部最小值问题:相邻两数不相等,[0]<[1],[N-2]>[N-1]—>导数趋势必定会存在最低点