Python yardım gerekli

cıstakmessi

80+ Silver
Katılım
26 Mayıs 2023
Mesajlar
2,455
Reaksiyon skoru
398
Arkadaşlar merhaba şunu cevabını atabilecek var mı bilen insanlardan ben yeni yeni yapmya başladım az buçukta yapmaya başladım ama bunda biraz zorlandım ayrdımcı olursanız mutlu olurum yorumlarda öğren gibi şeylere gerek yok kimse cevap vermek zorunda değil iyi sosyaller sıralı bir listede ör: [3,24,25,34,41,44,53,67] klavyeden girilen aranan bir değer en hızlı nasıl bulunur.
 
Hocam tüm cümleyi baştan yazma sorunu açıkça yaz yeter
 
Sıralı bir listede bir değeri bulmak için en hızlı yöntem, ikili arama (binary search) algoritmasıdır. Listedeki değerlerin orta noktasını seçeriz ve aranan değerle karşılaştırırız. Aranan değer, orta noktadan büyükse, sağdaki yarısına, küçükse sol yarısına bakarız. Bu şekilde liste her adımda yarıya indirilir ve değer bulunana kadar bu işlem devam eder.

Örnek olarak aşağıdaki kodu inceleyebilirsin
Python:
def binary_search(arr, x):
    low = 0
    high = len(arr) - 1
    while low <= high:
        mid = (low + high) // 2
        if arr[mid] < x:
            low = mid + 1
        elif arr[mid] > x:
            high = mid - 1
        else:
            return mid
    return -1  # Değer bulunamadı

# Örnek bir liste
liste = [3, 24, 25, 34, 41, 44, 53, 67]

# Aranan değeri al
aranan = int(input("Aranan değeri girin: "))

# İkili arama
sonuc = binary_search(liste, aranan)

if sonuc != -1:
    print("Değer bulundu indeks:", sonuc)
else:
    print("Değer bulunamadı.")
 
Geri
Top