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
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.
Giải Tin học 11 Bài 19: Bài toán tìm kiếm - Kết nối tri thức
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.")
Lời giải bài tập Tin học 11 Bài 19: Bài toán tìm kiếm hay khác: