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

837

Với giải Luyện tập 2 trang 93 Tin học lớp 11 Kết nối tri thức chi tiết trong Bài 19: Bài toán tìm kiếm giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập Tin học 11. Mời các bạn đón xem:

Giải bài tập Tin học lớp 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.")

Đánh giá

0

0 đánh giá