線形探索を理解する

    このチュートリアルでは、線形探索について学習します。さらに、C言語での線形検索の例があります。
    線形検索は最も単純な検索アルゴリズムであり、リスト内の要素を順番に検索できます。必要な要素が見つかるまで、各要素を一方の端からチェックします。

線形検索はどのように機能しますか?

    以下の手順に従って、以下のリストで要素k = 1を検索します。
ここに画像の説明を挿入

  1. 最初の要素から始めて、kと要素xを1つずつ比較します。
    ここに画像の説明を挿入
  2. x == kの場合、インデックスを返します。
    ここに画像の説明を挿入
  3. それ以外の場合は、戻り値が見つかりません。
線形探索アルゴリズムの擬似コード
LinearSearch(array, key)
  for each item in the array
    if item == value
      return its index
Cの例
// Linear Search in C

#include <stdio.h>

int search(int array[], int n, int x) {
    
    
  
  // Going through array sequencially
  for (int i = 0; i < n; i++)
    if (array[i] == x)
      return i;
  return -1;
}

int main() {
    
    
  int array[] = {
    
    2, 4, 0, 1, 9};
  int x = 1;
  int n = sizeof(array) / sizeof(array[0]);

  int result = search(array, n, x);

  (result == -1) ? printf("Element not found") : printf("Element found at index: %d", result);
}
線形検索の複雑さ

    時間計算量:O(n)
    空間計算量:O(1)

線形探索の適用

    小さい配列(<100アイテム)での検索操作に使用されます。

参考文献

[1]パレワラボPvt。Ltd.Linear Search [EB / OL] .https://www.programiz.com/dsa/linear-search,2020-01-01。

おすすめ

転載: blog.csdn.net/zsx0728/article/details/115047671