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
- Kırmızı-siyah ağaç nedir, hangi avantajları sunar?
- Binary search nasıl çalışır ve ne zaman kullanılır?
- Python’da bir stringin içinde belirli bir kelimenin hangi indekslerde geçtiğini nasıl bulabilirim?
- Kuantum bilgisayarlar geleneksel bilgisayarlara göre ne gibi avantajlar sağlar?
- Yapay zeka algoritmalarının performansını artırmak için kullanılan veri ön işleme teknikleri nelerdir ve bu tekniklerin model başarısına etkisi nasıl değerlendirilir
- Bir bilgisayarın işlemci hızı nasıl belirlenir?
- Makine öğrenmesi algoritmalarının performansını artırmak için veri ön işleme tekniklerinin rolü nedir ve hangi yöntemler en etkili sonuçları sağlar
- Yeni başladım: Mekanik mühendisliğinde termal genleşme katsayısı nedir?
- CSS’te float property’si ne işe yarar?
- CNN ve RNN arasındaki fark nedir?
- Yeni başlayanlar için programlama öğrenmeye başlamadan önce hangi adımları atmalı?
- Polimorfizm nedir?
- Yapay zeka algoritmalarının derin öğrenme yöntemleriyle klasik makine öğrenmesi teknikleri arasındaki temel farklar nelerdir
- Bilgisayarlarda isletim sistemi nedir?
- Yapay zeka algoritmalarının derin öğrenme teknikleriyle performansını artıran temel faktörler nelerdir?
- Yapay zeka algoritmalarının performansını artırmak için kullanılan derin öğrenme tekniklerinin temel avantajları nelerdir
- Mikroservis mimarisinin artıları ve eksileri nelerdir?
- Python’da bir stringi kaç farklı yöntemle ters çevirebilirim?
- En temel düzeyde bir bilgisayarın çalışması için hangi bileşenlerin olması gerekir?
- Model eğitimi nasıl yapılır?
