Bir telefon rehberinde “Mert” adını aradığınızı düşünün. İlk sayfadan başlayıp bütün isimleri tek tek okumazsınız. Rehberi ortasından açar, karşınıza çıkan harfe bakar ve aradığınız ismin hangi tarafta kaldığını belirlersiniz. Sonra kalan bölümü yeniden ikiye ayırırsınız. Farkında olmadan bilgisayar biliminin en zarif fikirlerinden birini kullanırsınız: ikili arama.
İkili arama, sıralanmış bir veri kümesinde hedeflenen değeri bulmak için arama alanını her adımda yarıya indirir. Basit görünür; fakat gücü tam da bu sadelikten gelir. Bin öğelik bir listede doğrusal arama en kötü durumda bin karşılaştırma yapabilirken ikili arama yaklaşık on adımda sonuca ulaşır. Bir milyon öğe mi var? Yaklaşık yirmi adım yeterlidir. Çünkü mesele bütün kapıları çalmak değil, her soruyla yanlış kapıların yarısını sonsuza dek kapatmaktır.