Pencarian biner menggunakan rekursi
Dalam latihan ini, Anda akan mengimplementasikan algoritma binary search yang baru saja Anda pelajari menggunakan rekursi. Ingat bahwa fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.
Latihan ini merupakan bagian dari kursus
Struktur Data dan Algoritma di Python
Instruksi latihan
- Definisikan kasus dasar.
- Periksa apakah nilai yang dicari sama dengan nilai di tengah.
- Panggil fungsi
binary_search_recursive()secara rekursif pada separuh kiri list. - Panggil fungsi
binary_search_recursive()secara rekursif pada separuh kanan list.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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))