## 查找算法
### 顺序查找/线性查找
+ 条件:有序+无序
+ 时间复杂度:O(n)
+ 空间复杂度:O(1)
+ 关键代码 `if (target == arry[i]) return i;`
### 二分查找/折半查找
+ 条件:有序
+ 时间复杂度:O(logN)
+ 空间复杂度:O(1)
+ 关键代码 `while (low_index <= high_index)` `low_index = mid_index + 1` `high_index = mid_index - 1`
### 插值查找
+ 条件:有序
+ 时间复杂度:O(logN)
+ 空间复杂度:O(1)
+ 关键代码:`mid_index = low_index + (high_index - low_index)*(targetValue - arry[low_index]) / (arry[high_index] - arry[low_index])`
### 哈希查找
+ 条件 :有序+无序,一个设计良好的哈希函数
+ 时间复杂度:O(1)
+ 空间复杂度:O(n)
+ 关键代码: `while (hash[hashAddress] != EMPTY_VALUE_IN_HASH && arry[hash[hashAddress]] != target) // nextHash()`