Câu hỏi:

11/07/2024 813

Hãy vận dụng thuật toán tìm kiếm nhị phân để xác định một bạn trong lớp được sinh vào ngày nào trong tháng với không quá 5 câu hỏi trắc nghiệm Đúng/Sai. Tương tự, để xác định một bạn được sinh vào tháng nào trong năm thì em cần dùng nhiều nhất bao nhiêu câu hỏi Đúng/Sai?

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Câu hỏi đặt ra cho bạn để xác định ngày sinh trong tháng:

Ví dụ: Bạn của em sinh ngày 5. (Em sẽ sử dụng câu hỏi đúng hoặc sai vào từng lựa chọn Lớn hơn hay Nhỏ hơn).

Câu hỏi 1: Bạn sinh vào ngày nhỏ hơn 15 (hay lớn hơn 15).

Câu hỏi 2: Ngày sinh của bạn nhỏ hơn 7 (hay lớn hơn 7).

Câu hỏi 3: Ngày sinh của bạn nhỏ hơn 4 (hay lớn hơn 4).

Câu hỏi 4: Ngày sinh của bạn bằng 5 hay lớn hơn 5. Khi đó ta sẽ được kết quả.

Tương tự: Để xác định bạn sinh vào tháng nào trong năm em sẽ dùng 4 câu hỏi đúng sai.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

a)  Biển số xe cần tìm là 25.

Lần lặp

Biển số xe tỉnh

Cùng biển số xe

Danh sách tìm kết toàn bộ bảng

1

67

Sai

Sai

2

72

Sai

Sai

3

77

Sai

Sai

4

69

Sai

Sai

5

27

Sai

Sai

6

81

Sai

Sai

7

79

Sai

Sai

8

25

Đúng

Sai

Sau 8 lần lặp đã tìm được kết quả. Kết thúc tìm kiếm.

b)

Bước 1. Sắp xếp biển số xe theo thứ tự tăng dần hoặc giảm dần.

Media VietJack

Bảng. Biển số xe tăng dần

Bước 2.  Lật thẻ số ở giữa của dãy (thẻ thứ 5). So sánh số cần tìm là 25 trên thẻ vừa lật là 67. Do 25 < 67 nên chỉ cần tìm ở nửa đầu của dãy thẻ (gồm 1, 2, 3, 4)

Bước 4. Lật thẻ số ở giữa của dãy (thẻ thứ 2). So sánh số cần tìm là 25 trên thẻ vừa lật là 21. Do 25 > 21 nên số cần tìm ở nửa sau của dãy thẻ (vị trí số 3, 4).

Bước 5. Lật thẻ vị trí số 3. So sánh số cần tìm là 25 trên thẻ vừa lật là 25. Do 25 = 25 nên đưa ra thông báo đã tìm thấy kết quả. Kết thúc quá trình tìm kiếm.

c) Số lần lặp lại ở câu b ít hơn câu a. Vì tìm kiếm nhị phân chia nhỏ mảng tìm kiếm nên số lần lặp ít hơn.

d) Ta có thể dùng thuật toán tìm kiếm nhị phân để tìm ra tỉnh khi biết hai số đầu của biển số xe. Vì khi thực hiện tìm kiếm ta sẽ chia nhỏ mảng số và tìm được số cần tìm.

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP