Bài tập 1: Hãy ghép mỗi tình huống ở cột bên trái với một cách sắp xếp ở cột bên phải cho phù hợp.
Trả lời:
1-b
2-a
3-d
4-c
Bài tập 2: Hãy xác định trong các thao tác dưới đây, thao tác nào là của thuật toán tìm kiếm tuần tự, thao tác nào là của thuật toán tìm kiếm nhị phân bằng cách đánh dấu (v) vào ô tương ứng.
Trả lời:
Bài tập 3: Cho dãy số: 47, 35, 36, 11, 36, 46, 36, 63, 36, 18, 24. Để tìm số 36 trong dãy số này bằng thuật toán tìm kiếm tuần tự, ta cần thực hiện bao nhiêu lần lặp
A. 3 lần.
B. 5 lần
C. 7 lần
D. 9 lần
Trả lời:
Đáp án đúng: A
Bài tập 4: Theo em, thuật toán tìm kiếm nào trong 2 thuật toán đã học là phù hợp nhất để tìm một số trong dãy số 14, 17, 21, 25, 30, 52, 66? Vì sao em không chọn thuật toán còn lại?
Hãy mô phỏng thuật toán phù hợp nhất đã chọn để tìm số 30 trong dãy số trên bằng cách điền thông tin mỗi lần lặp vào bảng dưới đây.
Trả lời:
Bài tập 5: Bạn em có một bộ 20 thẻ số, mỗi thẻ ghi một số khác nhau, được đặt úp trên bàn theo thứ tự giá trị các số tăng dần từ trái sang phải. Bạn đố em lật tìm được đúng một số trong 20 thẻ số đó chỉ với tối đa 5 lần lật. Em có thực hiện được không? Vi sao?
Trả lời:
Em có thể thực hiện được.
Giải thích: Áp dụng thuật toán tìm kiếm nhị phân.
Theo công thức phần nguyên, ta xác định và lật thẻ ở giữa như sau (giả định trường hợp xấu nhất là lần lật cuối cùng mới đúng số cần tìm): - Lần 1: lật 1 thẻ trong 20 thẻ, ta lật thẻ thứ 10.
- Lần 2: lật 1 thẻ trong 9 thẻ bên trái hoặc trong 10 thẻ bên phải thẻ thứ 10, ta lật thẻ thứ 5 hoặc lật thẻ thứ 15.
Cứ tiếp tục chọn và lật như vậy thì đến lần 5, sẽ chỉ còn 1 số để lật và chắc chắn tìm được số theo yêu cầu.