Javaによる線形探索アルゴリズムの実装方法

順次検索アルゴリズム(線形探索とも)は、データセットの先頭から順番に各要素を比較していく単純かつ直感的な探索アルゴリズムです。

順番検索アルゴリズムのJava実装を以下に示します。

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; // 如果找不到目标元素,返回-1
    }

    public static void main(String[] args) {
        int[] arr = {2, 4, 6, 8, 10};
        int target = 8;
        int result = sequentialSearch(arr, target);
        if (result == -1) {
            System.out.println("目标元素不存在");
        } else {
            System.out.println("目标元素的索引为:" + result);
        }
    }
}

上記コードでは、sequentialSearch メソッドは整数の配列 arr とターゲット要素 target をパラメータとして受け取り、for ループを使用して配列全体を繰り返し、要素をターゲット要素の値と 1 つずつ比較します。等しい場合は、その要素のインデックスを返します。ループが終了してもターゲット要素が見つからない場合は、-1 を返します。main メソッドでは、サンプル配列 arr とターゲット要素 target を定義し、sequentialSearch メソッドを呼び出して検索を行い、戻り値に基づいて情報を表示します。

順次探索アルゴリズムの時間計算量はO(n)に注意してください。ここでは、nはデータセットのサイズを表します。これは、データセットが非常に大きい場合、順次探索アルゴリズムは、各要素を逐一比較する必要があるため、かなりの速度低下の可能性があります。大規模データセットで高速探索を行う必要がある場合は、2分探索やハッシュテーブルなどの、より効率的な探索アルゴリズムの使用を検討してください。

bannerAds