Özyineleme kullanarak ikili arama
Bu egzersizde, az önce öğrendiğin ikili arama algoritmasını özyineleme kullanarak uygulayacaksın. Unutma, özyinelemeli bir fonksiyon, kendisini çağıran bir fonksiyondur.
Bu egzersiz
Python'da Veri Yapıları ve Algoritmalar
kursunun bir parçasıdırEgzersiz talimatları
- Temel durumu tanımla.
- Aranan değerin ortadaki değere eşit olup olmadığını kontrol et.
- Listenin sol yarısında
binary_search_recursive()fonksiyonunu özyinelemeli olarak çağır. - Listenin sağ yarısında
binary_search_recursive()fonksiyonunu özyinelemeli olarak çağır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def binary_search_recursive(ordered_list, search_value):
# Define the base case
if ____(ordered_list) == 0:
return False
else:
middle = len(ordered_list)//2
# Check whether the search value equals the value in the middle
if search_value == ____:
return True
elif search_value < ordered_list[middle]:
# Call recursively with the left half of the list
return ____(ordered_list[:middle], search_value)
else:
# Call recursively with the right half of the list
return ____
print(binary_search_recursive([1,5,8,9,15,20,70,72], 5))