跳至主要內容

顺序查找


顺序查找

介绍

顺序查找(Sequential Search),又称线性查找,是一种简单的查找算法,主要用于在未排序的数据集合中查找指定的元素。顺序查找的基本思想是从数据集合的第一个元素开始逐个扫描,直到找到目标元素或扫描完整个数据集合为止。

具体实现时,从数据集合的第一个元素开始,逐个比较每个元素与目标元素是否相等。如果找到目标元素,则返回该元素的索引;如果遍历完整个数据集合都没有找到目标元素,则返回一个特殊值(例如-1)表示未找到。顺序查找的时间复杂度为O(n),其中n为数据集合的大小,因此在大规模数据集合中效率较低,但对于小规模数据集合而言,顺序查找是一种简单有效的查找算法。

顺序查找适用于数据集合规模较小的情况,或者数据集合本身已经有序,但需要进行少量的查找操作。在实际应用中,顺序查找常用于数据集合中元素的删除、插入等操作,因为需要先查找元素是否存在。如果数据集合已经有序,可以考虑使用更高效的二分查找算法。

代码

public class SequentialSearch {
    public static int sequentialSearch(int[] arr, int target) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == target) {
                return i; // 返回目标元素的索引
            }
        }
        return -1; // 目标元素不存在于数组中
    }

    public static void main(String[] args) {
        int[] arr = {5, 8, 2, 10, 3};
        int target = 2;
        int index = sequentialSearch(arr, target);
        if (index != -1) {
            System.out.println("目标元素 " + target + " 在数组中的索引位置为: " + index);
        } else {
            System.out.println("目标元素 " + target + " 不存在于数组中");
        }
    }
}
上次编辑于:
贡献者: Neil