Bu yazımızda linear search (doğrusal arama) algoritması hakkında bilgiler vereceğiz.

Linear Search (Doğrusal Arama) Algoritması Nedir ?

Linear Search, bir veri yapısında (örneğin, bir dizi) belirli bir değerin varlığını bulmak için kullanılan bir algoritmadır. Algoritma, veri yapısını sırasıyla tarar ve aranacak değeri bulana kadar tüm elemanları inceler. Eğer değer bulunursa, algoritma değerin indeksini döndürür. Bulunamazsa, belirli bir değerin yokluğunu belirten bir sonuç döndürür. Avantajı kolay anlaşılırlığı ve kullanımıdır, ancak veri yapısı boyutu büyüdükçe performansı düşer.

Linear Search (Doğrusal Arama) Algoritması Nasıl Çalışır ?

Linear Search (Doğrusal Arama) algoritması, veri yapısını sırasıyla taramak suretiyle çalışır:

  1. Başlat: Algoritma, veri yapısının ilk elemanından başlar.
  2. Karşılaştır: Taranacak eleman ile aranacak değer karşılaştırılır.
  3. Eşleşme bulunursa: Eğer taranacak eleman aranacak değere eşitse, algoritma bu elemanın indeksini döndürür ve sona erer.
  4. Eşleşme bulunmazsa: Eğer taranacak eleman aranacak değere eşit değilse, tarama sonraki elemana geçer ve adım 2 tekrar edilir.
  5. Bitir: Eğer tarama sonunda aranacak değer bulunamazsa, algoritma belirli bir değerin yokluğunu belirten bir sonuç döndürür.

Bu algoritma, veri yapısı boyutu büyüdükçe performansı düşer ve daha hızlı arama algoritmalarının kullanılması önerilir.

Linear Search (Doğrusal Arama) Algoritması Zaman Karmaşıklığı Nedir ?

Linear Search (Doğrusal Arama) algoritmasının zaman karmaşıklığı O(n) dir. Veri yapısındaki eleman sayısına oranla lineer bir artış gösterir. Bu, veri yapısındaki her bir eleman için ayrı ayrı karşılaştırma yapılması anlamına gelir ve veri yapısının boyutu büyüdükçe algoritmanın çalışma zamanı artar.

Bu yazı dikkatini çekebilir.   Sıralama Algoritmaları – Merge Sort (Birleştirme Sıralaması) Algoritması

Linear Search algoritmasının zaman karmaşıklığı O(n) olduğu için veri yapısı boyutu çok büyük olduğunda performansı yavaşlar. Dolayısıyla daha hızlı arama algoritmaları kullanılması önerilir.

Linear Search (Doğrusal Arama) Algoritması Örnek Kod

Şimdide örnek olması açısında c programlama dili ile bir linear search algoritması nasıl yazılır görelim.

#include <stdio.h>

int linear_search(int arr[], int n, int x)
{
    int i;
    for (i = 0; i < n; i++)
    {
        if (arr[i] == x)
            return i;
    }
    return -1;
}

int main()
{
    int arr[] = {2, 3, 4, 10, 40};
    int n = sizeof(arr) / sizeof(arr[0]);
    int x = 10;
    int result = linear_search(arr, n, x);
    if (result == -1)
        printf("Değer bulunamadı\n");
    else
        printf("Değer %d. indekste bulundu\n", result);
    return 0;
}

Bu programda, veri yapısı olarak bir dizi tanımlanmış ve linear_search fonksiyonu tarafından aranacak değer x dizi içinde bulunup bulunmadığı kontrol edilmiştir. Eğer değer bulunursa, değerin bulunduğu indeks döndürülür, bulunmazsa -1 döndürülür.


Bu yazımızda linear search (doğrusal arama) algoritması hakkında bilgiler verdik. Diğer veri yapıları konulu yazılarımızı okumak için buraya tıklayabilirsiniz.