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 adalah bagian dari kursus
Struktur Data dan Algoritma di Python
Petunjuk 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 praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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))