1. 线性查找分析和实现
1.1. 查找算法介绍
在 java 中, 常用的查找有四种:
- 顺序(线性)查找
- 二分查找/折半查找
- 插值查找
- 斐波那契查找
1.2. 线性查找算法案例
1.2.1. 题目
有一个数列 arr={1,8,10,89,1000,1234}, 判断数列中是否包含目标数值 key.
1.2.2. 要求
如果找到了则提示找到并给出下标值
1.2.3. 思路
顺序遍历数组, 逐个元素进行比较即可
1.2.4. 代码
- 以下实现的线性查找只查找一个关键值
public class OrderSearch{
public static void main(String[] args){
//设定数列
int[] arr = {1,8,10,89,1000,1234};
//设定目标值
int key = 89;
//线性查找
int index = orderFind(arr, key);
//判定返回索引
if(index == -1){
System.out.println("failed to search the key in arr");
}
else{
System.out.println("found, the index is" + index);
}
}
//定义线性查找方法, 遍历数组逐一对比即可
public static int orderFind(int[] arr, int key){
for(int i = 0; i < arr.length; i++){
if(arr[i] == key){
return i;
}
}
return -1;
}
}