@634

探索のアルゴリズム:線形探索(逐次探索)

Advertisement

線形探索(逐次探索)

データを配列の先頭から順番に探す。それだけ。単純なアルゴリズムだから比較的容易に実現できるけど、データ量が多くなると探索回数が多くなるから探索効率が悪い。

方法

  1. 配列の先頭から順番に、探索データと比較する。
  2. 値が同じなら探索終了。違うなら次の要素と比較する。
  3. 最後の要素まで比較してもデータが見つからなかった場合、探索終了。

実現

簡単。
class Search{
    /*
    * 逐次探索
    * 引数1:数値配列    引数2:探索データ
    * 戻り値:見つかった場合データの要素番号
    *         見つからなかった場合 -1
    */
    public static int lineSearch(int[] data, int x){
        for(int i = 0; i < data.length; i++){
            if(data[i] == x){
                return i;
            }
        }

        //見つからなかった場合。
        return -1;
    }
}

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール