跳到主要内容

21、数据结构和算法 - 实战:线性查找算法

1.1 线性查找

线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。

1.2 线性查找代码实现

package com.yuanxw.datastructure.chapter21;

import java.util.Arrays;

/**
 * 线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,
 * 逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。
 */
public class LinearSearch {
   
     
    public static void main(String[] args) {
   
     
        int[] array = new int[]{
   
     -7, -4, -2, 5, 8, 10};
        System.out.println("原始数据:" + Arrays.toString(array));
        int index = linearSearch(array, 8);
        System.out.println("【线性查找】结果下标位置:" + index);
    }

    /**
     * 线性查找
     *
     * @param array
     * @param value
     * @return
     */
    public static int linearSearch(int[] array, int value) {
   
     
        for (int i = 0; i < array.length; i++) {
   
     
            if (array[i] == value) {
   
     
                return i;
            }
        }
        return -1;
    }
}

执行结果:

原始数据:[-7, -4, -2, 5, 8, 10]
【线性查找】结果下标位置:4

1.3 线性查找总结

  • 算法优点:实现简单,应用范围广。
  • 算法缺点:效率极低,需要一个元素一个元素的比较,最坏情况下需要把数组中的元素都比较一遍。