MulaiMulai sekarang secara gratis

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

Lihat Kursus

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))
Edit dan Jalankan Kode