线性查找:时间复杂度O(n);适合于存储结构为顺序存储或链接存储的线性表。
原理:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。
//线性查找
public class LinearSearch{
public static int linearSearch(int num[], int value){
//如果数组有序加上下面这个判断效率会更优
if(num == null || num[0] > value || num[num.length-1] < value){ //不满足条件直接输出
return -1;
}
for(int i = 0; i < num.length; i++){ //查找
if(num[i] == value){
return i;
}
}
return -1;
}
}
二分查找:时间复杂度O(logn&