[KNTT] Trắc nghiệm Tin học 11 KHMT bài 20 Thực hành bài toán tìm kiếm

[KNTT] Trắc nghiệm Tin học 11 KHMT bài 20 Thực hành bài toán tìm kiếm

1. Hàm `bisect_left` trong module `bisect` của Python dùng để làm gì?
2. Trong tìm kiếm nhị phân, làm thế nào để tính toán chỉ số của phần tử ở giữa (`mid`) để tránh tràn số nguyên (integer overflow) trên một số ngôn ngữ lập trình?
3. Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự trên một mảng có N phần tử trong trường hợp xấu nhất là bao nhiêu?
4. Độ phức tạp thời gian để tìm kiếm một phần tử cụ thể trong một danh sách liên kết đơn có N phần tử là bao nhiêu (trường hợp xấu nhất)?
5. Trong thuật toán tìm kiếm nhị phân, nếu `low` lớn hơn `high`, điều này có ý nghĩa gì?
6. Tìm kiếm nhị phân có thể được xem là một dạng của chiến lược chia để trị (divide and conquer) vì sao?
7. Hàm `list.count(value)` trong Python được sử dụng để làm gì liên quan đến tìm kiếm?
8. Trong bài toán tìm kiếm tuần tự trên mảng đã sắp xếp, điều kiện dừng của vòng lặp `while` khi tìm kiếm phần tử `x` là gì?
9. Ưu điểm chính của tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?
10. Nếu một mảng có N phần tử và bạn đang tìm kiếm một phần tử không tồn tại trong mảng bằng tìm kiếm tuần tự, bạn sẽ thực hiện bao nhiêu phép so sánh?
11. Để tìm kiếm hiệu quả một phần tử trong tập dữ liệu lớn, lựa chọn nào sau đây là tốt nhất?
12. Mục đích của việc sử dụng biến `mid` trong thuật toán tìm kiếm nhị phân là gì?
13. Trong Python, nếu bạn sử dụng `numpy.searchsorted(a, v)` với mảng `a` đã sắp xếp, hành vi của nó tương tự như hàm nào đã được đề cập?
14. Khi tìm kiếm một phần tử trong danh sách liên kết đơn, điều gì xảy ra nếu phần tử đó không tồn tại?
15. Khi thực hiện tìm kiếm tuần tự trên một chuỗi ký tự, chúng ta đang tìm kiếm gì?
16. Trong lập trình Python, hàm `list.index(value)` thực hiện tìm kiếm gì và trả về gì?
17. Thuật toán tìm kiếm nhị phân yêu cầu điều kiện tiên quyết gì đối với dữ liệu đầu vào?
18. Trong bài toán tìm kiếm, nếu chúng ta cần tìm một phần tử trong một tập hợp các phần tử mà thứ tự của chúng không quan trọng và chúng ta chỉ quan tâm đến việc phần tử có tồn tại hay không, cấu trúc dữ liệu nào thường được ưu tiên?
19. Nếu bạn có một danh sách rất lớn và cần thực hiện nhiều truy vấn tìm kiếm riêng lẻ, lựa chọn nào là tối ưu nhất về hiệu suất?
20. Độ phức tạp thời gian của thuật toán tìm kiếm nhị phân trên một mảng có N phần tử trong trường hợp trung bình là bao nhiêu?
21. Yếu tố nào sau đây không phải là yếu tố quyết định hiệu quả của thuật toán tìm kiếm?
22. Trong thuật toán tìm kiếm nhị phân, nếu phần tử cần tìm bằng với phần tử ở giữa, hành động tiếp theo là gì?
23. Khi thực hiện tìm kiếm nhị phân, 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?
24. Khi so sánh tìm kiếm tuần tự và tìm kiếm nhị phân, trường hợp nào tìm kiếm tuần tự có thể hiệu quả hơn?
25. Trong tìm kiếm tuần tự, nếu chúng ta tìm thấy phần tử cần tìm tại vị trí `i`, thuật toán có cần tiếp tục kiểm tra các phần tử từ `i+1` trở đi không?