Trắc nghiệm Cánh diều Tin học 11 KHMT bài 7 Lập trình giải bài toán tìm kiếm

Trắc nghiệm Cánh diều Tin học 11 KHMT bài 7 Lập trình giải bài toán tìm kiếm

1. Độ phức tạp thời gian của thuật toán tìm kiếm nhị phân trên một danh sách có N phần tử là bao nhiêu trong trường hợp trung bình?
2. Nếu một cây tìm kiếm nhị phân bị mất cân bằng (ví dụ: trở thành một danh sách liên kết), độ phức tạp tìm kiếm sẽ tệ nhất là bao nhiêu?
3. Sự khác biệt chính giữa tìm kiếm nhị phân đệ quy và tìm kiếm nhị phân lặp (iterative) là gì?
4. Khi nào thì việc triển khai tìm kiếm bằng cách sử dụng chỉ mục (index) trong cơ sở dữ liệu là hiệu quả nhất?
5. Tìm kiếm nội suy (Interpolation Search) cải thiện hiệu suất so với tìm kiếm nhị phân trong trường hợp nào?
6. Trong thuật toán tìm kiếm nhị phân, bước đầu tiên sau khi chọn điểm giữa là gì?
7. Thuật toán tìm kiếm tuyến tính (Linear Search) thực hiện công việc như thế nào?
8. Trong lập trình Python, hàm `list.index(value)` hoạt động tương tự với thuật toán tìm kiếm nào?
9. Thuật toán tìm kiếm nhị phân (Binary Search) yêu cầu điều kiện tiên quyết nào về tập dữ liệu?
10. Khi nào một thuật toán tìm kiếm được coi là ổn định (stable)?
11. Độ phức tạp thời gian của thuật toán tìm kiếm tuyến tính trên một danh sách có N phần tử là bao nhiêu trong trường hợp xấu nhất?
12. Nếu bạn có một danh sách lớn các số nguyên đã được sắp xếp và cần tìm kiếm một giá trị cụ thể một cách nhanh chóng, bạn nên ưu tiên sử dụng thuật toán nào?
13. Khi nào thuật toán tìm kiếm nhị phân sẽ gặp hiệu quả kém hơn hoặc không thể áp dụng so với tìm kiếm tuyến tính?
14. Trong bài toán tìm kiếm, yếu tố nào là quan trọng nhất để lựa chọn thuật toán phù hợp về hiệu quả và độ phức tạp?
15. Một cách để cải thiện hiệu suất tìm kiếm trên một tập dữ liệu lớn không sắp xếp là gì?
16. Trong lập trình, việc sử dụng một vòng lặp `while` với điều kiện `low <= high` thường thấy trong thuật toán nào?
17. Yếu tố nào làm cho thuật toán tìm kiếm nhị phân vượt trội hơn tìm kiếm tuyến tính đối với các tập dữ liệu lớn và đã sắp xếp?
18. Độ phức tạp thời gian của thuật toán tìm kiếm nhảy trên một danh sách có N phần tử, với kích thước bước nhảy là sqrt(N), là bao nhiêu?
19. Khi nào việc sử dụng cấu trúc dữ liệu Hash Table sẽ mang lại hiệu suất tìm kiếm trung bình tốt nhất (gần O(1))?
20. Trong bài toán tìm kiếm, yếu tố nào liên quan đến độ phức tạp không gian (space complexity)?
21. Phân tích độ phức tạp trường hợp xấu nhất (worst-case complexity) của một thuật toán tìm kiếm nhằm mục đích gì?
22. Thuật toán tìm kiếm nhảy (Jump Search) hoạt động dựa trên nguyên tắc nào?
23. Nếu bạn cần tìm tất cả các lần xuất hiện của một từ khóa trong một văn bản lớn, thuật toán nào sẽ phù hợp nhất?
24. Các thuật toán tìm kiếm trên chuỗi (String Searching Algorithms) như KMP (Knuth-Morris-Pratt) và Boyer-Moore giúp cải thiện hiệu suất bằng cách nào?
25. Trong cấu trúc dữ liệu cây tìm kiếm nhị phân (Binary Search Tree - BST), khi tìm kiếm một giá trị, nếu giá trị đó nhỏ hơn nút hiện tại, chúng ta sẽ di chuyển đi đâu?