Giải SGK Tin học 11 KNTT Bài 19. Bài toán tìm kiếm có đáp á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.

14/16

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.

0/3000 ký tự
Giải thích

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