Cho dãy các số A = (3, 1,0, 10, 13, 16, 9, 7, 5, 11]

Vận dụng

Câu hỏi 1. Cho dãy các số A = (3, 1, 0, 10, 13, 16, 9, 7, 5, 11].

a) Viết chương trình mô tả thuật toán tìm kiếm phần tử C = 9 của dãy trên. Tính thời gian chính xác thực hiện công việc tìm kiếm này.

b) Giả sử dây A ở trên đã được sắp xếp theo thứ tự tăng dần: A= [4,3,5,7,8, 10, 11, 13. 16]. Viết chương trình tìm kiếm nhị phân để tìm kiếm phân tử C = 9, đo thời gian thực hiện thuật toán. So sánh với kết quả 1ìm kiếm ở câu a.


Gợi ý:

  1. Gán i = 0.
  2. So sánh giá trị của A[i] và x:
    • Nếu A[i] == x thì dừng và trả về giá trị của i (vị trí của x trong mảng A).
    • Nếu A[i] != x thì sang bước 3.
  3. Gán i = i + 1:
    • Nếu i == n (tức hết mảng) thì dừng lại và trả kết quả là -1 (không tìm thấy x).
    • Nếu i < n thì quay lại bước 2.

Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 23 Kiếm thử và đánh giá chương trình

Giải những bài tập khác

Bình luận

Giải bài tập những môn khác