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

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

1. Khi thực hiện tìm kiếm nhị phân trên một mảng, nếu phần tử cần tìm lớn hơn phần tử ở giữa, chúng ta sẽ cập nhật chỉ số đầu (start) bằng cách nào?
2. Trong thuật toán tìm kiếm nhị phân, khi nào thuật toán kết thúc và trả về kết quả là không tìm thấy phần tử?
3. Giả sử ta có một mảng đã sắp xếp: [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]. Nếu tìm kiếm giá trị 23, bước đầu tiên sẽ so sánh 23 với phần tử nào?
4. Trong thuật toán tìm kiếm nhị phân, khi phạm vi tìm kiếm thu hẹp lại chỉ còn một phần tử, và phần tử đó không phải là giá trị cần tìm, điều này có nghĩa là gì?
5. Yếu tố nào sau đây là quan trọng nhất để đảm bảo thuật toán tìm kiếm nhị phân hoạt động hiệu quả và chính xác?
6. Khi áp dụng tìm kiếm nhị phân, nếu phần tử cần tìm bằng với phần tử ở chỉ số giữa, kết quả tìm kiếm là gì?
7. Khi áp dụng tìm kiếm nhị phân trên một mảng đã sắp xếp, nếu phần tử cần tìm nhỏ hơn phần tử ở giữa mảng, chúng ta sẽ tiếp tục tìm kiếm ở đâu?
8. Phát biểu nào sau đây mô tả đúng nhất về chỉ số giữa (midpoint index) trong thuật toán tìm kiếm nhị phân?
9. Tìm kiếm nhị phân có thể áp dụng cho cấu trúc dữ liệu nào sau đây, miễn là chúng được sắp xếp?
10. Điểm yếu chính của thuật toán tìm kiếm nhị phân là gì, đặc biệt khi so sánh với các thuật toán sắp xếp khác?
11. Trong thuật toán tìm kiếm nhị phân, nếu phần tử cần tìm nằm ở cuối của mảng đã sắp xếp, số lần so sánh sẽ như thế nào so với việc tìm phần tử ở đầu mảng?
12. Khi tìm kiếm một giá trị không có trong mảng đã sắp xếp bằng thuật toán tìm kiếm nhị phân, quá trình tìm kiếm sẽ dừng lại khi nào?
13. Phát biểu nào sau đây là SAI về thuật toán tìm kiếm nhị phân?
14. Nếu bạn cần tìm một mục trong một danh sách rất lớn các mục đã được sắp xếp theo thứ tự bảng chữ cái, phương pháp nào sau đây là hiệu quả nhất?
15. Tại sao việc sử dụng tìm kiếm nhị phân lại không hiệu quả trên một danh sách liên kết (linked list) mà không có chỉ số truy cập ngẫu nhiên?
16. Trong việc triển khai tìm kiếm nhị phân bằng đệ quy, trường hợp cơ bản (base case) nào sẽ dừng quá trình đệ quy?
17. Nếu một mảng có 1024 phần tử đã sắp xếp, tìm kiếm nhị phân sẽ cần tối đa bao nhiêu lần so sánh để tìm thấy một phần tử (hoặc xác định nó không có trong mảng)?
18. Trong thuật toán tìm kiếm nhị phân, tập dữ liệu ban đầu cần phải đáp ứng điều kiện tiên quyết nào để thuật toán hoạt động chính xác?
19. Trong tìm kiếm nhị phân, nếu giá trị cần tìm là 50 và mảng đã sắp xếp là [10, 20, 30, 40, 50, 60, 70], sau khi so sánh với 40 (phần tử giữa), bước tiếp theo là gì?
20. Thuật toán tìm kiếm nhị phân có ưu điểm nổi bật gì so với tìm kiếm tuần tự (linear search) trên một tập dữ liệu lớn đã sắp xếp?
21. Giả sử mảng đã sắp xếp: [1, 3, 5, 7, 9, 11, 13]. Tìm kiếm giá trị 8. Bước nào sau đây là sai trong quá trình tìm kiếm nhị phân?
22. Độ phức tạp thời gian (time complexity) của thuật toán tìm kiếm nhị phân trên một tập dữ liệu có N phần tử là bao nhiêu, với N là số lượng phần tử?
23. Khi một thuật toán tìm kiếm nhị phân được viết dưới dạng vòng lặp (iterative), biến nào thường được sử dụng để theo dõi phạm vi tìm kiếm hiện tại?
24. Khi tìm kiếm một giá trị trong mảng [10, 20, 30, 40, 50, 60, 70, 80, 90] với giá trị cần tìm là 75, bước tiếp theo sau khi so sánh với 50 là gì?
25. Trong trường hợp mảng có số lượng phần tử là số chẵn, cách tính chỉ số giữa (midpoint) nào thường được sử dụng để đảm bảo tính chính xác và tránh lỗi tràn bộ nhớ?