Boyer-Moore algoritması, metin içinde belirli bir örüntüyü arayan bir string eşleştirme algoritmasıdır. Algoritmanın işleyişi: 1. Ön işleme: Örüntü içindeki her karakter için, eşleşme durumunda geri dönülecek pozisyonları belirleyen bir tablo oluşturulur. 2. Arama: Metin içinde örüntü aranırken, eşleşmeyen karakterlerde tablodan yararlanılarak geri dönülecek pozisyonlar hesaplanır. 3. Eşleşme kontrolü: Eşleşen karakterlerin tümü için örüntünün tam olarak eşleşip eşleşmediği kontrol edilir. 4. Kötü karakter kaydırma kuralı: Eşleşmeyen bir karakter varsa, örüntüdeki bu karakterin metindeki en sağdaki konumu baz alınarak kaydırma yapılır. 5. İyi sone kuralı: Eşleşmeyen bir alt dize varsa, örüntüdeki bu alt dizinin metindeki en sağdaki konumu baz alınarak kaydırma yapılır. Boyer-Moore algoritmasının ortalama ve en kötü durumda zaman karmaşıklığı O(n/m) şeklindedir.