Câu hỏi:
30/05/2022 683Em và bạn hãy thực hiện trò chơi mô phỏng thuật toán tìm kiếm nhị phân theo hướng dẫn sau:
a) Chuẩn bị 10 thẻ, mỗi thẻ ghi một số khác nhau. Sắp xếp các thẻ số thành một dãy trên
mặt bàn theo thứ tự giá trị tăng dần của số ghi trên thẻ. Đặt úp mặt ghi số để không nhìn
thấy số ghi trên các thẻ.
b) Em đề nghị bạn thực hiện thuật toán tìm kiếm nhị phân để tìm một số do em đưa ra.
c) Hoán đổi vai trò, em thực hiện tìm kiếm theo đề nghị của bạn.
Câu hỏi trong đề: Bài tập Thực toán tìm kiếm có đáp án !!
Quảng cáo
Trả lời:
Các em tham khảo hướng dẫn sau:
Chuẩn bị 10 thẻ được đánh thứ từ từ A, B, C, D, E, F, G, H, K, L và sau thẻ đánh số tương ứng 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 xếp sắp theo thứ tự tăng dần.
a) Thẻ số tăng dần: Tìm số 8
Dãy thẻ số |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Thứ tự |
A |
B |
C |
D |
E |
F |
G |
H |
K |
L |
Hình 2: Thẻ số tăng dần
b)
Gọi số cần tìm là x = 8.
Bước 1. Lật thẻ ở vị trí E (E = 5).
Bước 2. So sánh số thấy vị trí E khác vị trí cần tìm (8 > 5) nên ta chỉ cần tìm ở nữa sau của dãy thẻ (gồm F, G, H, K, L).
Bước 3. Lật thẻ vị trí H (H = 8).
Bước 4. So sánh số thấy vị trí H bằng với kết quả cần tìm. Kết quả tìm thấy số 8 trong dãy ở vị trí H và kết thúc quá trình tìm kiếm.
c) Thay đổi vai trò
Gọi số cần tìm là x = 10.
Bước 1. Lật thẻ ở vị trí E (E = 5).
Bước 2. So sánh số thấy vị trí E khác vị trí cần tìm (10 > 5) nên ta chỉ cần tìm ở nữa sau của dãy thẻ (gồm F, G, H, K, L).
Bước 3. Lật thẻ vị trí H (H = 8).
Bước 4. So sánh số thấy vị trí H khác vị trí cần tìm (10 > 8). Nên ta chỉ cần tìm ở nữa sau của dãy thẻ (gồm K, L).
Bước 5. Ta lật ngẫu nhiên vị trí K hoặc L.
+ TH1: Lật thẻ vị trí K: So sánh số thấy vị trí K khác vị trí cần tìm (10 > 9). Tiếp theo ta lật thẻ còn lại, so sánh số thấy vị trí L bằng với kết quả cần tìm. Kết quả tìm thấy số 10 trong dãy ở vị trí L và kết thúc quá trình tìm kiếm.
+ TH2: Lật thẻ vị trí L: So sánh số thấy vị trí L bằng với kết quả cần tìm. Kết quả tìm thấy số 10 trong dãy ở vị trí L và kết thúc quá trình tìm kiếm.
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
Đáp án: B
Để tìm kiếm một số trong dãy số bằng thuật toán tìm kiếm tuần tự, ta thực hiện so sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.
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.
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.
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.
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.
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.
Đề kiểm tra học kì 2 Tin học 7 Kết nối tri thức có đáp án - Đề 1
15 câu Trắc nghiệm Tin học 7 Kết nối tri thức Bài 10 có đáp án
15 câu Trắc nghiệm Tin học 7 Kết nối tri thức Bài 9 có đáp án
Đề kiểm tra học kì 2 Tin học 7 Cánh diều có đáp án - Đề 1
15 câu Trắc nghiệm Tin học 7 Kết nối tri thức Bài 14 có đáp án
15 câu Trắc nghiệm Tin học 7 Kết nối tri thức Bài 15 có đáp án
Đề kiểm tra giữa học kì 2 Tin học 7 Kết nối tri thức có đáp án - Đề 1
15 câu Trắc nghiệm Tin học 7 Kết nối tri thức Bài 11 có đáp án