Trắc nghiệm Tin học 11 kết nối tri thứcTrắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 20 Thực hành bài toán tìm kiếm Đăng vào 3 Tháng 5, 2026 bởi admin Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 20 Thực hành bài toán tìm kiếm Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 20 Thực hành bài toán tìm kiếm Số câu25Quiz ID40959 Làm bài Câu 1 Đoạn mã Python 'for i in range(len(A)): if A[i] == x: return i' thực hiện thuật toán nào? A Sắp xếp chọn B Tìm kiếm tuần tự C Tìm kiếm nhị phân D Tìm kiếm nội suy Câu 2 Thuật toán tìm kiếm nhị phân được phân loại vào nhóm chiến lược thiết kế thuật toán nào? A Quy hoạch động B Chia để trị (Divide and Conquer) C Tham lam (Greedy) D Duyệt cạn (Brute Force) Câu 3 Phát biểu nào sau đây là SAI về thuật toán tìm kiếm tuần tự? A Có thể áp dụng cho cả danh sách đã sắp xếp và chưa sắp xếp B Luôn nhanh hơn tìm kiếm nhị phân với danh sách lớn C Đơn giản và dễ cài đặt D Phù hợp với danh sách có kích thước nhỏ Câu 4 Nhược điểm lớn nhất của việc phải sắp xếp dữ liệu trước khi thực hiện tìm kiếm nhị phân là gì? A Làm dữ liệu bị mất mát B Tốn thêm thời gian và chi phí tính toán cho bước sắp xếp C Làm cho việc tìm kiếm tuần tự khó khăn hơn D Không thể thực hiện trên kiểu dữ liệu chuỗi Câu 5 Trong Python, nếu hàm tìm kiếm không tìm thấy giá trị trong danh sách, giá trị trả về phổ biến để thông báo kết quả này thường là gì? A 0 B None C False D -1 Câu 6 Để tìm kiếm thông tin một khách hàng dựa trên mã số khách hàng trong một cơ sở dữ liệu cực lớn đã được đánh chỉ mục, thuật toán nào thường được ưu tiên? A Tìm kiếm ngẫu nhiên B Tìm kiếm tuần tự từ đầu đến cuối C Tìm kiếm nhị phân hoặc dựa trên bảng băm D Duyệt theo chiều sâu Câu 7 Nếu danh sách có các phần tử là các cặp (Tên, Điểm) và đã sắp xếp theo Tên, để tìm Điểm của học sinh tên 'Bình', ta dùng thuật toán nào tối ưu nhất? A Tìm kiếm tuần tự theo Điểm B Tìm kiếm nhị phân theo Tên C Tìm kiếm nhị phân theo Điểm D Sắp xếp lại theo Điểm rồi tìm kiếm Câu 8 Công thức xác định chỉ số phần tử ở giữa 'mid' trong thuật toán tìm kiếm nhị phân với 'low' là chỉ số đầu và 'high' là chỉ số cuối là gì? A mid = (low + high) / 2 B mid = (low + high) // 2 C mid = low + high D mid = (high - low) // 2 Câu 9 Giả sử bạn có một danh sách tên học sinh chưa được sắp xếp. Thuật toán nào là lựa chọn hợp lý nhất để tìm tên một học sinh? A Tìm kiếm nhị phân B Tìm kiếm tuần tự C Sắp xếp nhanh rồi tìm kiếm nhị phân D Sắp xếp nổi bọt Câu 10 Độ phức tạp thời gian trung bình của thuật toán tìm kiếm tuần tự là gì? A O(1) B O(log n) C O(n) D O(n log n) Câu 11 Trong bài toán tìm kiếm, mục tiêu chính của thuật toán tìm kiếm tuần tự (linear search) là gì? A Sắp xếp lại danh sách trước khi tìm B Duyệt qua các phần tử để tìm giá trị cần thiết C Chia đôi danh sách liên tiếp để tìm kiếm D Loại bỏ các phần tử trùng lặp trong danh sách Câu 12 Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm lớn hơn giá trị của phần tử ở giữa (mid), bước tiếp theo là gì? A Dừng tìm kiếm vì không thấy B Tiếp tục tìm kiếm ở nửa bên trái của danh sách C Tiếp tục tìm kiếm ở nửa bên phải của danh sách D Quay lại tìm kiếm từ đầu danh sách theo cách tuần tự Câu 13 Toán tử nào trong Python cho phép kiểm tra nhanh sự tồn tại của một phần tử trong danh sách mà không cần viết hàm tìm kiếm thủ công? A is B in C exists D has Câu 14 Khi nào thì tìm kiếm tuần tự có thể kết thúc sớm hơn việc duyệt hết toàn bộ danh sách? A Khi danh sách quá lớn B Khi tìm thấy phần tử cần tìm C Khi danh sách chưa được sắp xếp D Khi không tìm thấy phần tử Câu 15 Nếu một danh sách có 1024 phần tử và đã được sắp xếp, số lần so sánh tối đa của thuật toán tìm kiếm nhị phân là bao nhiêu? A 10 B 11 C 512 D 1024 Câu 16 Khi thực hiện tìm kiếm tuần tự trên một danh sách có 'n' phần tử, số lần so sánh tối đa là bao nhiêu? A n B n chia 2 C log cơ số 2 của n D n nhân n Câu 17 Tại sao tìm kiếm nhị phân lại hiệu quả hơn tìm kiếm tuần tự trên các danh sách lớn đã sắp xếp? A Vì nó duyệt qua tất cả các phần tử nhanh hơn B Vì nó loại bỏ được một nửa số phần tử cần xét sau mỗi lần so sánh C Vì nó không cần so sánh giá trị D Vì nó sử dụng ít bộ nhớ hơn Câu 18 Trong Python, cấu trúc lặp nào thường được sử dụng phổ biến nhất để triển khai thuật toán tìm kiếm tuần tự? A Vòng lặp for hoặc while B Vòng lặp lồng nhau C Câu lệnh if-else D Cấu trúc rẽ nhánh switch-case Câu 19 Phát biểu nào sau đây đúng về vị trí 'mid' trong tìm kiếm nhị phân? A mid luôn là số thực B mid là chỉ số của phần tử chia danh sách thành hai phần xấp xỉ bằng nhau C mid luôn là phần tử đầu tiên của danh sách D mid là giá trị lớn nhất trong danh sách Câu 20 Trong thuật toán tìm kiếm nhị phân, nếu giá trị tại 'mid' nhỏ hơn giá trị cần tìm, ta cập nhật biến 'low' như thế nào? A low = mid - 1 B low = mid + 1 C low = mid D low = high Câu 21 Trong bài thực hành tìm kiếm, nếu cần tìm tất cả các vị trí của một giá trị xuất hiện nhiều lần trong danh sách, ta nên dùng cách nào? A Tìm kiếm nhị phân và dừng lại ngay khi thấy giá trị đầu tiên B Tìm kiếm tuần tự và lưu lại mọi chỉ số tìm thấy vào một danh sách mới C Sử dụng hàm 'index()' mặc định của Python D Chỉ sử dụng thuật toán sắp xếp Câu 22 Trong thuật toán tìm kiếm nhị phân, vòng lặp 'while low <= high' sẽ kết thúc khi nào? A Khi tìm thấy phần tử hoặc khi low lớn hơn high B Khi danh sách chỉ còn 1 phần tử C Khi chỉ số mid bằng 0 D Khi đã duyệt qua tất cả các phần tử tuần tự Câu 23 Trong Python, phương thức 'A.index(x)' của danh sách A sẽ làm gì nếu x không có trong A? A Trả về -1 B Trả về None C Gây ra lỗi ValueError D Trả về độ dài của danh sách Câu 24 Khi tìm kiếm một số điện thoại trong danh bạ giấy được sắp xếp theo tên, chúng ta thường áp dụng tư duy của thuật toán nào? A Tìm kiếm tuần tự từ trang đầu tiên B Tìm kiếm nhị phân (mở ở giữa và thu hẹp phạm vi) C Tìm kiếm ngẫu nhiên các trang D Không sử dụng thuật toán nào Câu 25 Điều kiện tiên quyết để có thể áp dụng thuật toán tìm kiếm nhị phân (binary search) là gì? A Danh sách phải có số lượng phần tử là số chẵn B Danh sách không được chứa số âm C Danh sách phải được sắp xếp theo một thứ tự nhất định D Danh sách phải có ít nhất 100 phần tử Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 19 Bài toán tìm kiếm Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 21 Các thuật toán sắp xếp đơn giản