Viết chương trình của thuật toán tìm kiếm nhị phân với dãy sắp xếp giảm dần

Trả lời Luyện tập 2 trang 93 Tin học 11 sách Kết nối tri thức hay, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 11.

1 287 lượt xem


Giải Tin học 11 Bài 19: Bài toán tìm kiếm

Luyện tập 2 trang 93 Tin học 11: Viết chương trình của thuật toán tìm kiếm nhị phân với dãy sắp xếp giảm dần.

Lời giải:

def binary_search_reverse(arr, target):

 def binary_search_reverse_helper(arr, target, low, high):

  if low > high:

  return -1

 mid = (low + high) // 2

 if arr[mid] == target:

  return mid

 elif arr[mid] < target:

  return binary_search_reverse_helper(arr, target, low, mid - 1)

 else:

  return binary_search_reverse_helper(arr, target, mid + 1, high)

return binary_search_reverse_helper(arr, target, 0, len(arr) - 1)

# Sử dụng ví dụ đầu vào để kiểm tra

arr = [10, 8, 6, 4, 2]

target = 6

# Gọi hàm tìm kiếm nhị phân với dãy sắp xếp giảm dần

result = binary_search_reverse(arr, target)

if result != -1:

 print("Phần tử", target, "được tìm thấy tại vị trí", result)

else:

 print("Phần tử", target, "không tồn tại trong dãy.")

1 287 lượt xem


Xem thêm các chương trình khác: