CodeBlanks Logo Icon CodeBlanks

En iyi ve en kötü durum

Doğrusal aramada en iyi O(1), en kötü O(n) durumları öğrenirsin.

En iyi ve en kötü durum

Doğrusal aramada en iyi durum: hedef ilk elemandır, 1 karşılaştırma, O(1). En kötü durum: hedef son elemandır veya yoktur, n karşılaştırma, O(n).

Ortalama durum: hedef dizinin ortasındadır, n/2 karşılaştırma. Big-O sabitleri yok saydığı için ortalama da O(n) yazılır.

Sıralı vs sırasız dizi

Doğrusal arama, dizinin sıralı olmasını gerektirmez. Sıralı dizilerde hedeften büyük bir eleman görünce arama durdurulabilir.

Ancak bu iyileştirme en kötü durumu değiştirmez: hedef dizide yoksa yine tüm dizi gezilir ve karmaşıklık O(n) kalır.

Uygulama İçerir mi

contains(arr, target) yaz. Hedef varsa True, yoksa False döndür. print(contains([1, 3, 5], 3)) ile True yazdır.

Başlangıç kodu

solution.py
def contains(arr, target):
    # Var mı kontrol et

Örnek çözüm

solution.py
def contains(arr, target):
    # Var mı kontrol et
    for x in arr:
        if x == target:
            return True
    return False
print(contains([1, 3, 5], 3))

Beklenen çıktı

True

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 En iyi ve en kötü durum: kavramları eşleştir

Kavram Anlamı
En iyi 1 karşılaştırma
En kötü n karşılaştırma
Ortalama n/2 karşılaştırma
Bulunamadı -1 döner

2 Ortalama durum kaç karşılaştırma yapar?

  • n Doğru cevap
  • n/2
  • 1
  • n^2

Açıklama: Ortalama durum n/2 karşılaştırma yapar.

3 En iyi durum

Soru
Hedef ilk elemandaysa ____ karşılaştırma yapılır.
Cevap
Hedef ilk elemandaysa 1 karşılaştırma yapılır.

Açıklama: 1 doğru.

Başlangıç bölümündeki tüm dersler