(十六)查找算法

1.查找算法介绍

在 java 中,我们常用的查找有四种:

  1. 顺序(线性)查找
  2. 二分查找/折半查找
  3. 插值查找
  4. 斐波那契查找

2.线性查找算法

有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。

  • 代码实现
public class SeqSearch {

  public static void main(String[] args) {
    int arr[] = { 1, 9, 11, -1, 34, 89 };// 没有顺序的数组
    int index = seqSearch(arr, -11);
    if(index == -1) {
      System.out.println("没有找到到");
    } else {
      System.out.println("找到,下标为=" + index);
    }
  }

  /**
    * 这里我们实现的线性查找是找到一个满足条件的值,就返回
    * @param arr
    * @param value
    * @return
    */
  public static int seqSearch(int[] arr, int value) {
    // 线性查找是逐一比对,发现有相同值,就返回下标
    for (int i = 0; i < arr.length; i++) {
      if(arr[i] == value) {
        return i;
      }
    }
    return -1;
  }

}
原文地址:https://www.cnblogs.com/everyingo/p/15009524.html