İkili Arama vs Doğrusal Arama
Sıralı arama olarak da bilinen doğrusal arama, en basit arama algoritmasıdır. Listedeki her öğeyi kontrol ederek listedeki belirli bir değeri arar. İkili arama, sıralı bir listede belirtilen bir değeri bulmak için kullanılan bir yöntemdir. İkili arama yöntemi, kontrol edilen öğelerin sayısını (her yinelemede) yarıya indirir ve listede verilen öğeyi bulmak için harcanan zamanı azaltır.
Doğrusal Arama Nedir?
Doğrusal arama, listedeki her bir öğeyi belirli bir öğeyi bulana kadar sırayla kontrol eden en basit arama yöntemidir. Doğrusal arama yönteminin girdisi bir dizi (dizi, koleksiyon veya dize gibi) ve aranması gereken öğedir. Belirtilen öğe sağlanan sekans içindeyse çıktı doğrudur veya sekansta değilse false olur. Bu yöntem, belirtilen öğe bulunana kadar listedeki her öğeyi kontrol ettiğinden, en kötü durumda gerekli öğeyi bulmadan önce listedeki tüm öğeleri gözden geçirir. Doğrusal aramanın karmaşıklığı o (n) dir. Bu nedenle, büyük listelerde eleman ararken çok yavaş olduğu düşünülmektedir. Ama bu çok basit ve uygulanması daha kolay.
İkili Arama Nedir?
İkili arama, sıralı bir listede belirli bir öğeyi bulmak için kullanılan bir yöntemdir. Bu yöntem, aranan öğeyi listenin ortasındaki öğelerle karşılaştırarak başlar. Karşılaştırma iki öğenin eşit olduğunu belirlerse, yöntem durur ve öğenin konumunu döndürür. Aranan öğe orta öğeden büyükse, sıralanan listenin yalnızca alt yarısını kullanarak yöntemi yeniden başlatır. Aranan öğe orta öğeden küçükse, sıralanan listenin yalnızca üst yarısını kullanarak yöntemi yeniden başlatır. Aranan öğe liste içinde değilse, yöntem bunu gösteren benzersiz bir değer döndürür. Bu nedenle, ikili arama yöntemi, karşılaştırmanın sonucuna bağlı olarak, karşılaştırılan öğe sayısını (her yinelemede) yarıya indirir. Sonuç olarak, ikili arama logaritmik sürede çalışır ve sonuç o (log n) ortalama vaka performansıyla sonuçlanır.
İkili Arama ve Doğrusal Arama arasındaki fark nedir?
Hem doğrusal arama hem de ikili arama arama yöntemleri olsa da, birkaç farklılıkları vardır. İkili arama sıralanmış listelerde çalışırken, astar arama sıralanmamış listelerde de kullanılabilir. Bir listeyi sıralamak genellikle n log n'nin ortalama vaka karmaşıklığına sahiptir. doğrusal aramanın uygulanması, ikili aramaya göre basit ve kolaydır. Ancak, doğrusal arama, o (n) ortalama vaka performansı nedeniyle büyük listelerde kullanılmak için çok yavaştır. Diğer yandan, ikili arama, büyük listelerle kullanılabilecek daha etkili bir yöntem olarak kabul edilmektedir. Ancak ikili aramayı uygulamak oldukça zor olabilir ve bir çalışma, ikili arama için doğru kodun yirmi kitaptan sadece beşinde bulunabileceğini göstermiştir..