İkili aramanın büyük O'su nedir?
İkili aramanın büyük O'su nedir?

Video: İkili aramanın büyük O'su nedir?

Video: İkili aramanın büyük O'su nedir?
Video: Koddan Karmaşıklık Analizi Yapılması 2024, Mayıs
Anonim

Ikili arama lineerden daha hızlıdır arama küçük diziler hariç.

Ikili arama algoritma.

Görselleştirme Ikili arama 7'nin hedef değer olduğu algoritma
Sınıf Arama algoritma
En iyi durum performansı Ö (1)
Ortalama performans Ö (günlük n)
En kötü durum alanı karmaşıklığı Ö (1)

Burada ikili aramanın karmaşıklığı nedir?

Ikili arama en kötü logaritmik zamanda çalışır, O(log n) karşılaştırmaları yapar, burada n dizideki eleman sayısıdır, O Büyük O gösterimidir ve log logaritmasıdır. Ikili arama sabit (O(1)) boşluk alır, yani algoritma tarafından alınan boşluk dizideki herhangi bir sayıda öğe için aynıdır.

Ek olarak, ikili arama en hızlısı mı? Evet ve hayır. Evet var aramalar ortalama olarak, bir ikiye bölmeden daha hızlıdır arama . Ama onların hala O(lg N) olduğuna inanıyorum, sadece daha düşük bir sabitle. Öğenizi bulmak için geçen süreyi en aza indirmek istiyorsunuz.

Benzer şekilde, ikili aramayı nasıl yazarsınız?

Ikili arama : Arama art arda bölerek sıralanmış bir dizi arama yarı yarıya aralık. Tüm diziyi kapsayan bir aralıkla başlayın. değeri ise arama tuşu, aralığın ortasındaki öğeden daha az ise, aralığı alt yarıya daraltın. Aksi takdirde, üst yarıya kadar daraltın.

İkili aramanın zaman karmaşıklığı nedir?

Bu nedenle, algoritmanın verildiğini gösterdiği bir tür davranış olmalıdır. karmaşıklık günlük Nasıl çalıştığını görelim. Dan beri Ikili arama en iyi durum verimliliği O(1) ve en kötü durum (ortalama durum) verimliliği O(log n) ise, en kötü duruma bir örnek inceleyeceğiz. 16 elemanlı sıralanmış bir dizi düşünün.

Önerilen: