Bölüm 3 · Simülasyon

Üstel Arama

← Bölüm 3
AşamaHazır
bound–
lo–
hi–
mid–
Yoklama0

    Yoklama dizisi: –

    Üstel Arama

    Önce arama sınırı üstel olarak genişletilir, ardından bulunan aralıkta ikili arama yapılır.

    Kullanım

    • Bir hedef girin; aramanın tamamını canlandırmak için Ara'ya, birer karşılaştırma ilerlemek için Adım'a basın.
    • Sıfırla çalıştırmayı temizler; Yeni Dizi birbirinden farklı 20 değerden oluşan yeni bir sıralı dizi üretir.
    • Hücrelerin üstündeki kırmızı etiketler yoklanan 1, 2, 4, 8, 16 sınırlarını gösterir; mavi çubuk o anki ikili arama aralığıdır [lo, hi].

    Algoritma

    1. A[0] hedefe eşitse dur.
    2. bound = 1 ile başla; bound < n ve A[bound] < hedef olduğu sürece bound'u iki katına çıkar.
    3. Hedef dizideyse A[bound/2 … min(bound, n − 1)] içindedir; orada ikili arama yap.

    Karmaşıklık

    Hedef i konumundaysa ikiye katlama aşaması yaklaşık log₂ i adım sürer ve ikili arama yaklaşık i boyutunda bir aralıkta çalışır; bu yüzden toplam süre O(log i) ≤ O(log n), ek bellek O(1)'dir. Sınırı bilinmeyen ya da çok büyük sıralı listelerde, hedef başa yakınken kullanışlıdır.