Trắc nghiệm Tin học 7 kết nối bài 15 Thuật toán tìm kiếm nhị phân

Trắc nghiệm Tin học 7 kết nối bài 15 Thuật toán tìm kiếm nhị phân

1. Giả sử ta có mảng đã sắp xếp: [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]. Tìm kiếm phần tử 23. Bước đầu tiên, ta so sánh 23 với phần tử nào?
2. Tìm kiếm nhị phân có thể áp dụng trên cấu trúc dữ liệu nào KHÔNG phải là mảng liên tục?
3. Thuật toán tìm kiếm nhị phân (Binary Search) có thể áp dụng hiệu quả nhất trên loại cấu trúc dữ liệu nào sau đây?
4. Trong tìm kiếm nhị phân, chỉ số mid được tính như thế nào để tránh tràn số nguyên khi low và high rất lớn?
5. Thuật toán tìm kiếm nhị phân hoạt động dựa trên nguyên tắc nào?
6. Tìm kiếm nhị phân có thể gây ra lỗi gì nếu mảng không được sắp xếp đúng cách?
7. Việc thêm một phần tử vào mảng đã sắp xếp để chuẩn bị cho tìm kiếm nhị phân có thể tốn thời gian bao nhiêu trong trường hợp xấu nhất?
8. Nếu ta cần tìm kiếm trong một danh sách các từ theo thứ tự bảng chữ cái, thuật toán nào là phù hợp nhất?
9. Khi tìm kiếm nhị phân trên mảng [1, 3, 5, 7, 9, 11, 13] để tìm số 9, nếu lần đầu ta so sánh với 7 và 9 lớn hơn 7, phạm vi tìm kiếm tiếp theo sẽ là gì?
10. Mục đích của việc sử dụng các biến low và high trong thuật toán tìm kiếm nhị phân là gì?
11. Trong thuật toán tìm kiếm nhị phân, khi nào thì quá trình tìm kiếm dừng lại vì tìm thấy phần tử?
12. Trong quá trình tìm kiếm nhị phân, nếu phần tử cần tìm KHÔNG có trong mảng, thuật toán sẽ kết thúc như thế nào?
13. Ưu điểm của việc sử dụng tìm kiếm nhị phân so với tìm kiếm tuần tự trên mảng lớn là gì?
14. Nếu chỉ số low (bắt đầu) lớn hơn chỉ số high (kết thúc) trong tìm kiếm nhị phân, điều đó có nghĩa là gì?
15. Trong thuật toán tìm kiếm nhị phân, nếu phần tử cần tìm lớn hơn phần tử ở giữa, ta sẽ tiếp tục tìm kiếm ở đâu?
16. Giả sử mảng đã sắp xếp là [10, 20, 30, 40, 50] và ta tìm kiếm phần tử 25. Sau lần so sánh đầu tiên với 30 (phần tử giữa), ta loại bỏ phần nào?
17. Điều kiện tiên quyết để thuật toán tìm kiếm nhị phân hoạt động đúng là gì?
18. Nếu một mảng có các phần tử trùng lặp, tìm kiếm nhị phân có đảm bảo tìm thấy phần tử đầu tiên xuất hiện không?
19. Thuật toán tìm kiếm nhị phân có thể được triển khai bằng cách nào?
20. Khi tìm kiếm phần tử 56 trong mảng [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] (đã sắp xếp), sau khi so sánh với 16 và loại bỏ nửa đầu, phạm vi tìm kiếm tiếp theo là gì?
21. Khi sử dụng tìm kiếm nhị phân đệ quy, thông số nào thường được truyền vào hàm đệ quy cho lần gọi tiếp theo để tìm kiếm ở nửa sau?
22. Một mảng có 1000 phần tử. Tìm kiếm nhị phân sẽ thực hiện tối đa bao nhiêu phép so sánh để tìm một phần tử?
23. So với tìm kiếm tuần tự (linear search), tìm kiếm nhị phân có ưu điểm gì?
24. Trong trường hợp nào tìm kiếm nhị phân sẽ kém hiệu quả hơn tìm kiếm tuần tự?
25. Độ phức tạp thời gian (time complexity) của thuật toán tìm kiếm nhị phân trong trường hợp xấu nhất là bao nhiêu?