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 giúp bạn đánh giá chính xác mức độ hiểu bài thông qua hệ thống câu hỏi đa dạng.
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
⏱ Thời gian còn lại: --:--
Tiến độ hoàn thành
0/0 câu
🏆 BẢNG VÀNG TOP 5 ĐIỂM TỐT NHẤT
Đang tải bảng xếp hạng...
Câu 1: Mục tiêu cơ bản nhất của bài toán tìm kiếm trong một danh sách dữ liệu là gì?
- - Sắp xếp lại các phần tử trong danh sách theo thứ tự tăng dần
- - Xác định sự có mặt và vị trí của một giá trị mục tiêu trong danh sách
- - Xóa bỏ các phần tử trùng lặp trong danh sách dữ liệu
- - Tính tổng hoặc giá trị trung bình của các phần tử trong danh sách
Câu 2: Hàm 'index()' của kiểu dữ liệu danh sách (list) trong Python trả về kết quả gì nếu không tìm thấy giá trị mục tiêu?
- - Trả về giá trị -1
- - Trả về giá trị 'None'
- - Gây ra lỗi 'ValueError'
- - Trả về giá trị 'False'
Câu 3: Một thuật toán tìm kiếm tuần tự được thực hiện trên danh sách có n phần tử. Nếu mỗi phép so sánh mất 1ms, thời gian lâu nhất để hoàn thành là bao nhiêu?
- - 1 ms
- - log2(n) ms
- - n ms
- - n/2 ms
Câu 4: Trong Python, để tìm kiếm một từ khóa trong một chuỗi văn bản (string), phương thức nào thường được sử dụng và trả về -1 nếu không tìm thấy?
- - Phương thức 'search()'
- - Phương thức 'find()'
- - Phương thức 'lookup()'
- - Phương thức 'get()'
Câu 5: Tại sao tìm kiếm nhị phân không thể áp dụng trực tiếp cho danh sách liên kết (Linked List) một cách hiệu quả?
- - Vì danh sách liên kết không thể sắp xếp
- - Vì không thể truy cập ngẫu nhiên phần tử ở giữa với thời gian hằng số
- - Vì danh sách liên kết chỉ chứa dữ liệu kiểu chuỗi
- - Vì danh sách liên kết tiêu tốn quá nhiều bộ nhớ
Câu 6: Lợi ích chính của việc sử dụng các hàm tìm kiếm có sẵn trong Python (như 'in', 'index') so với việc tự viết vòng lặp là gì?
- - Các hàm này luôn sử dụng tìm kiếm nhị phân để đạt tốc độ cao nhất
- - Mã nguồn ngắn gọn, dễ đọc và thường được tối ưu hóa hiệu năng ở mức hệ thống
- - Các hàm này có thể tự động sắp xếp danh sách trước khi tìm
- - Các hàm này không tốn bộ nhớ khi thực thi
Câu 7: Nhược điểm lớn nhất của việc sử dụng tìm kiếm nhị phân thay vì tìm kiếm tuần tự trong một hệ thống dữ liệu thường xuyên cập nhật là gì?
- - Tìm kiếm nhị phân khó cài đặt hơn trên ngôn ngữ Python
- - Tốn chi phí thời gian để sắp xếp lại dữ liệu mỗi khi có thêm hoặc sửa đổi phần tử
- - Tìm kiếm nhị phân không thể tìm được các giá trị kiểu chuỗi
- - Số lần so sánh của tìm kiếm nhị phân luôn nhiều hơn tìm kiếm tuần tự
Câu 8: Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự trong trường hợp xấu nhất là bao nhiêu?
- - O(log n)
- - O(n)
- - O(1)
- - O(n*n)
Câu 9: Nếu một danh sách có 1.000 phần tử và chưa được sắp xếp, số lần so sánh tối đa của tìm kiếm tuần tự là bao nhiêu?
- - 10 lần
- - 500 lần
- - 1.000 lần
- - Log cơ số 2 của 1.000
Câu 10: Trong bài toán tìm kiếm học sinh có điểm trung bình cao nhất, thuật toán thường dùng là gì?
- - Tìm kiếm nhị phân vì điểm số là số thực
- - Duyệt tuần tự để so sánh từng học sinh và cập nhật giá trị lớn nhất
- - Không cần thuật toán, chỉ cần dùng hàm input()
- - Chỉ tìm kiếm ở phần tử đầu tiên và phần tử cuối cùng
Câu 11: Trong thuật toán tìm kiếm nhị phân, điều kiện nào thường được dùng để duy trì vòng lặp tìm kiếm?
- - while low == high:
- - while low <= high:
- - while low < high:
- - while low != high:
Câu 12: Trong Python, toán tử nào thường được sử dụng để kiểm tra nhanh sự tồn tại của một phần tử trong danh sách?
- - Toán tử 'is'
- - Toán tử 'in'
- - Toán tử '=='
- - Toán tử 'find'
Câu 13: Khi tìm kiếm nhị phân giá trị X trong dãy tăng dần, nếu X lớn hơn giá trị tại vị trí mid, bước tiếp theo cần làm gì?
- - Thu hẹp phạm vi tìm kiếm sang nửa bên trái bằng cách đặt high = mid - 1
- - Dừng tìm kiếm vì không tìm thấy X
- - Thu hẹp phạm vi tìm kiếm sang nửa bên phải bằng cách đặt low = mid + 1
- - Giữ nguyên phạm vi và kiểm tra lại vị trí mid
Câu 14: 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?
- - Tìm kiếm tuần tự theo Điểm
- - Tìm kiếm nhị phân theo Tên
- - Tìm kiếm nhị phân theo Điểm
- - Sắp xếp lại theo Điểm rồi tìm kiếm
Câu 15: 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ì?
- - Sắp xếp lại danh sách trước khi tìm
- - Duyệt qua các phần tử để tìm giá trị cần thiết
- - Chia đôi danh sách liên tiếp để tìm kiếm
- - Loại bỏ các phần tử trùng lặp trong danh sách
Câu 16: Thuật toán tìm kiếm nhị phân thuộc chiến lược thiết kế thuật toán nào?
- - Tham ăn (Greedy)
- - Quy hoạch động (Dynamic Programming)
- - Chia để trị (Divide and Conquer)
- - Duyệt toàn bộ (Brute Force)
Câu 17: Tại sao trong thực tế, đôi khi người ta vẫn sử dụng tìm kiếm tuần tự thay vì tìm kiếm nhị phân?
- - Vì tìm kiếm tuần tự luôn nhanh hơn tìm kiếm nhị phân trên mọi tập dữ liệu
- - Vì chi phí sắp xếp dữ liệu để thực hiện tìm kiếm nhị phân có thể lớn hơn lợi ích mà nó mang lại
- - Vì tìm kiếm tuần tự dễ cài đặt hơn bằng đệ quy
- - Vì tìm kiếm nhị phân không thể thực hiện trên dữ liệu dạng chuỗi
Câu 18: Trong Python, để tìm kiếm một học sinh theo tên mà không phân biệt chữ hoa và chữ thường, ta nên xử lý như thế nào?
- - Sử dụng hàm len() để so sánh độ dài tên
- - Sử dụng phương thức .lower() hoặc .upper() cho cả tên học sinh và giá trị cần tìm khi so sánh
- - Sử dụng toán tử '==' mà không cần xử lý gì thêm
- - Chỉ tìm kiếm bằng các ký tự viết hoa ngay từ đầu
Câu 19: Ưu điểm lớn nhất của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?
- - Tốc độ tìm kiếm nhanh hơn đáng kể trên tập dữ liệu lớn
- - Có thể áp dụng cho mọi loại danh sách chưa sắp xếp
- - Sử dụng ít bộ nhớ hơn khi thực thi
- - Cài đặt mã nguồn đơn giản hơn nhiều
Câu 20: Thuật toán tìm kiếm tuần tự sẽ thực hiện bao nhiêu lần so sánh để tìm giá trị 5 trong danh sách [1, 2, 3, 4, 5]?
- - 1 lần
- - 3 lần
- - 5 lần
- - 0 lần
Câu 21: Biểu thức 'target in danh_sach' trong Python thực hiện thuật toán tìm kiếm nào bên dưới?
- - Tìm kiếm nhị phân
- - Tìm kiếm theo cấu trúc cây
- - Tìm kiếm tuần tự
- - Tìm kiếm nội suy
Câu 22: Đối với danh sách 'A = [1, 3, 5, 7, 9]', nếu tìm giá trị 'x = 3' bằng tìm kiếm nhị phân, giá trị 'mid' ở bước đầu tiên là bao nhiêu?
- - 0
- - 1
- - 2
- - 3
Câu 23: Trong thuật toán tìm kiếm nhị phân, nếu left = 0 và right = 6, chỉ số mid sẽ là bao nhiêu?
- - 2
- - 3
- - 4
- - 3.5
Câu 24: 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?
- - is
- - in
- - exists
- - has
Câu 25: Khi tìm kiếm tên một học sinh trong danh sách chưa được sắp xếp, thuật toán nào là phù hợp nhất?
- - Tìm kiếm nhị phân
- - Tìm kiếm tuần tự
- - Sắp xếp nhanh rồi tìm kiếm nhị phân
- - Tìm kiếm nội suy