Java版顺序查找

134 阅读1分钟

分析&回答


/**
 * 顺序查找
 * <p>
 * 线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,
 * 逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败
 *
 * @param arr    查找对象
 * @param target 目标值
 * @return
 */
public static int sequentialSearch(int[] arr, int target) {
    int i, n = arr.length;
    for (i = 0; i < n; i++) {
        if (arr[i] == target) {
            return i;
        }
    }
    return -1;
}

public static void main(String[] args) {
    // index     0  1  2  3  4  5  6  7  8  9  10
    int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
    int target = 5;
    SequentialSearch demo = new SequentialSearch();
    System.out.println("Find index in: " + demo.sequentialSearch(arr, target));
}

反思&扩展

  • 查找条件:无序或有序队列
  • 平均时间复杂度O(n)

喵呜面试助手: 一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!