Bu yazımızda sizlere Linear Search algoritması hakkında bilgiler vereceğim. Linear Search algoritması ile ilgili Java ve C# dillerinden örnekler göstereceğim. Bundan önce algoritma nedir veya algoritma nerelerde kullanılır gibi sorularınıza cevap aramak istiyorsanız algoritma nedir yazımıza tıklayabilirsiniz.
Linear Search (Doğrusal Arama) algoritması, listemizdeki bir veriyi sıralı bir yöntem ile arayan basit bir arama algoritmasıdır. Bunu açıklamam gerekirse, bir liste düşünelim ve bu listede sayılar yazılı olsun. Biz o liste içerisindeki bir sayıyı arayacağız, bu sayı arama işlemine en baştaki sayıdan aramaya başlayarak devam ederiz ve aradığımız sayıyı bulana kadar o listeyi tararız. Linear Search algoritması da bu şekildedir, aranılan veriyi bulana kadar o listeyi en baştan taramaya başlar.
Linear Seaarch algoritması nasıl çalışır?
n=8 elemanını aramak için aşağıda görünen adımlar takip edilir ve arama işlemi bu şekilde yapılır.
İlk sayıdan başlayarak, 8 sayısını bulana kadar diziler veya listelerde tek tek tarama yapar.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | public class LinearSearch { public static int ara(int a[], int y) { int n = a.length; //for döngümüzdde koşullarımızı belirledik for(int i=0; i < n; i++) { //klavyeden girilen sayı dizi içerisindeki sayıya eşitse sayı indisini döndür. if(a[i] == y) { return i; } } //değilse -1 olarak döndür return -1; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //dizi içerisine sayılarımızı tanımladık. int a [] = {55,34,11,3,44,41,91}; System.out.println("Sayı giriniz"); int y = scanner.nextInt(); int sonuc = ara(a, y); //koşullarımızı belirttik ve ekran çıktımızı verdik. if (sonuc == -1) { System.out.println("Dizide sayı bulunamadı"); } else System.out.println("Dizi içerisinde sayı " + sonuc +". indiste bulunmaktadır."); } } |
Ekran Çıktısı
1 2 3 | Sayı giriniz 11 Dizi içerisinde sayı 2. indiste bulunmaktadır. |
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | class LinearSearch { public static int ara(int[]a, int y) { int n = a.Length; //for döngümüzdde koşullarımızı belirledik for (int i = 0; i < n; i++) { //klavyeden girilen sayı dizi içerisindeki sayıya eşitse sayı indisini döndür. if (a[i] == y) { return i; } } return -1; } public static void Main() { //dizi içerisine sayılarımızı tanımladık. int []a = { 55, 34, 11, 3, 44, 41, 91 }; Console.WriteLine("Sayı giriniz"); int y = Convert.ToInt32(Console.ReadLine()); int sonuc = ara(a, y); //koşullarımızı belirttik ve ekran çıktımızı verdik. if (sonuc == -1) { Console.WriteLine("Dizide sayı bulunamadı"); } else Console.WriteLine("Dizi içerisinde sayı " + sonuc + ". indiste bulunmaktadır."); } } } |
Ekran Çıktısı
1 2 3 | Sayı giriniz 44 Dizi içerisinde sayı 4. indiste bulunmaktadır. |
Oldukça yardımcı bir yazı, yalın ve akıcı bir anlatım, teşekkür ederim. En kısa zamanda iletişime geçmek istiyorum sizinle.
Yazımızı okuduğunuz için ben teşekkür ederim yardımcı olduysa ne mutlu bana. İletişime geçmek isterseniz yorum yoluyla bize ulaşabilirsiniz. İyi günler.