Doğrusal Arama

Bu eğitimde doğrusal arama hakkında bilgi edineceksiniz. Ayrıca, doğrusal arama C, C ++, Java ve Python'un çalışma örneklerini bulacaksınız.

Doğrusal arama, bir listedeki bir öğeyi sıralı sırada arayan en basit arama algoritmasıdır. Bir uçtan başlıyoruz ve istenen öğe bulunmayana kadar her öğeyi kontrol ediyoruz.

Doğrusal Arama Nasıl Çalışır?

Aşağıdaki k = 1listede bir eleman aramak için aşağıdaki adımlar takip edilir .

Aranacak dizi
  1. İlk elementten başlayın, k'yi her x elementiyle karşılaştırın. Her bir elementle karşılaştırın
  2. Eğer x == k, dizini döndürün. Öğe bulundu
  3. Aksi takdirde, dönüş bulunamadı.

Doğrusal Arama Algoritması

Öğe == değer, dizini döndürürse dizideki her öğe için Doğrusal Arama (dizi, anahtar)

Python, Java ve C / C ++ Örnekleri

Python Java C C ++
 # Linear Search in Python def linearSearch(array, n, x): # Going through array sequencially for i in range(0, n): if (array(i) == x): return i return -1 array = (2, 4, 0, 1, 9) x = 1 n = len(array) result = linearSearch(array, n, x) if(result == -1): print("Element not found") else: print("Element found at index: ", result)
 // Linear Search in Java class LinearSearch ( public static int linearSearch(int array(), int x) ( int n = array.length; // Going through array sequencially for (int i = 0; i < n; i++) ( if (array(i) == x) return i; ) return -1; ) public static void main(String args()) ( int array() = ( 2, 4, 0, 1, 9 ); int x = 1; int result = linearSearch(array, x); if (result == -1) System.out.print("Element not found"); else System.out.print("Element found at index: " + result); ) )
 // Linear Search in C #include 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); )
 // Linear Search in C++ #include using namespace std; 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) ? cout << "Element not found" : cout << "Element found at index: " << result; )

Doğrusal Arama Karmaşıklıkları

Zaman Karmaşıklığı: O (n)

Uzay Karmaşıklığı: O(1)

Doğrusal Arama Uygulamaları

  1. Daha küçük dizilerde (<100 öğe) arama işlemleri için.

Ilginç makaleler...