1.顺序查找(线性)
2.二分查找/折半查找
public int search(int key, int[] array) {
int l = 0, h = array.length - 1;
while (l <= h) {
int mid = l + (h - l) / 2;
if (key == array[mid]) return mid;
if (key < array[mid]) h = mid - 1;
else l = mid + 1;
}
return -1;
}
3.插值查找
适用于数据量大的有序数列,速度很快,一次就可以找到

4.斐波那契查找
浙公网安备 33010602011771号