Binary search nasıl yapılır?
Binary Search Nedir?
Binary search, sıralı bir dizide belirli bir öğeyi hızlı bir şekilde bulmak için kullanılan etkili bir algoritmadır. Bu algoritma, diziyi sürekli olarak ortadan ikiye bölerek arama yapar.Binary Search Nasıl Yapılır?
1. **Diziyi Sırala:** Eğer dizi sıralı değilse, öncelikle sıralanması gerekir. 2. **Başlangıç ve Bitiriş Noktalarını Belirle:** - İlk elemanı göstermek için bir \"başlangıç\" indeksi (genellikle 0) ve son elemanı göstermek için bir \"bitiş\" indeksi (dizinin uzunluğu - 1) belirleyin. 3. **Ortayı Hesapla:** - Ortada bulunan elemanın indeksi şu şekilde hesaplanır: - `orta = (başlangıç + bitiriş) / 2` 4. **Karşılaştırma Yap:** - Eşleşen öğeyi bulmak için aşağıdaki durumlardan birini kontrol edin: - Eğer aranan öğe ortadaki öğeye eşitse, öğe bulunmuştur. - Eğer aranan öğe ortadaki öğeden küçükse, \"bitiriş\" indeksini ortanın bir öncesine ayarlayın. - Eğer aranan öğe ortadaki öğeden büyükse, \"başlangıç\" indeksini ortanın bir sonrasına ayarlayın. 5. **Tekrarla:** - Adımları, \"başlangıç\" indeksi \"bitiriş\" indeksinden küçük olduğu sürece tekrarlayın. 6. **Sonuç:** - Öğeyi bulamazsanız, dizide yok demektir.Örnek Uygulama
- Dizi: [2, 3, 4, 10, 40] - Aranan Öğe: 10 Adımlar: - Başlangıç = 0, Bitiriş = 4 - Orta = (0 + 4) / 2 = 2 ⇒ 4 ile karşılaştır. - 10 > 4, Başlangıç = 3 - Orta = (3 + 4) / 2 = 3 ⇒ 10 ile karşılaştır. - 10 = 10, öğe bulundu. Binary search, uygun bir sıraya sahip dizilerde performans açısından oldukça etkilidir ve O(log n) zaman karmaşıklığına sahiptir.
Cevap yazmak için lütfen
.
Aynı kategoriden
- Yedekleme ve geri yükleme stratejileri nelerdir?
- Graf veri yapısı nasıl temsil edilir?
- Uzay karmaşıklığı nedir?
- Pandas ile veri analizi nasıl başlanır?
- Parola politikaları ve çok faktörlü doğrulama nasıl tasarlanır?
- Python’da bir stringi parçalara ayırıp ters çevirip birleştirmek için hangi yöntemleri kullanabilirim?
- Sıralama algoritmaları arasındaki farklar nelerdir?
- Arrow functions kullanarak nasıl bir dizi filtresi uygulanabilir?
- Bilgisayarlar neden çalışır?
- TCP ile UDP farkı ve kullanım alanları nelerdir?
- RAM nedir ve bilgisayar performansını nasıl etkiler?
- Veri tabanı yönetimi için en uygun veri modelleme yöntemleri nelerdir?
- Monolitten mikroservislere geçişte hangi adımlar izlenir?
- Veri tabanı yönetim sistemleri hangi amaçlarla kullanılır?
- Quantum computing nedir ve nasıl çalışır?
- İndeks nedir ve performansı nasıl etkiler?
- CPU zamanlayıcıları: FCFS, SJF ve Round Robin nedir?
- Dizi ile bağlı liste arasındaki farklar nelerdir?
- Kayan nokta sayıların hataları ve sayısal kararlılık nedir?
- Makine öğrenmesi algoritmalarının farklı veri setlerinde performansını etkileyen temel faktörler nelerdir
