Trang chủ Lớp 11 SGK Tin học 11 - Kết nối tri thức Viết chương trình của thuật toán tìm kiếm nhị phân với dãy...

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. Dựa vào kiến thức trong bài để trả lời câu hỏi. def binary_search_reverse(arr, target): def...

Dựa vào kiến thức trong bài để trả lời câu hỏi Vận dụng kiến thức giải Câu hỏi 2 trang 84 Tin học 11 - Kết nối tri thức, Luyện tập 2 - trang 89 Bài 19. Bài toán tìm kiếm SGK Tin học 11 - Kết nối tri thức.

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.

Method - Phương pháp giải/Hướng dẫn/Gợi ý

Dựa vào kiến thức trong bài để trả lời câu hỏi.

Answer - Lời giải/Đáp án

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)

Advertisements (Quảng cáo)

 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.”)