Đáp án và lời giải
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 7: Lập trình giải bào toán tìm kiếm có đáp án
Câu 1
Lời giải do TopStudy biên soạn
Đáp án: B
Đáp án: B
Giải thích: Bài toán tìm kiếm là việc xác định xem một mục dữ liệu có tồn tại trong một tập hợp dữ liệu hay không, và nếu có, xác định vị trí của nó.
Câu 2
Lời giải do TopStudy biên soạn
Đáp án: C
Đáp án: C
Giải thích: Phương thức index() được sử dụng để tìm kiếm phần tử trong danh sách và trả về chỉ số của lần xuất hiện đầu tiên.
Câu 3
Lời giải do TopStudy biên soạn
Đáp án: B
Đáp án: B
Giải thích: Phương thức index() sẽ phát sinh lỗi "ValueError" nếu không tìm thấy phần tử trong danh sách
Câu 4
Lời giải do TopStudy biên soạn
Đáp án: B
Đáp án: B
Giải thích: Tìm kiếm tuần tự là phương pháp kiểm tra từng phần tử trong danh sách cho đến khi tìm thấy mục tiêu hoặc đã xét hết danh sách.
Câu 5
Lời giải do TopStudy biên soạn
Đáp án: A
Đáp án: A
Giải thích: Tìm kiếm nhị phân chỉ có thể được thực hiện trên danh sách đã sắp thứ tự, vì thuật toán này dựa trên việc chia đôi danh sách để tìm kiếm.
Câu 6
Lời giải do TopStudy biên soạn
Đáp án: B
Đáp án: B
Giải thích: Chỉ số của phần tử ở giữa được tính bằng (lo + hi) // 2 để đảm bảo kết quả là số nguyên.
Câu 7
Lời giải do TopStudy biên soạn
Đáp án: B
Đáp án: B
Giải thích: Bạn sẽ thông báo "không tìm thấy" khi đã xét hết tất cả các phần tử trong dãy mà không tìm thấy mục tiêu.
Câu 8
Lời giải do TopStudy biên soạn
Đáp án: A
Đáp án: A
Giải thích: Bạn có thể giới hạn phạm vi tìm kiếm bằng cách chỉ định chỉ số lo và hi trong phương thức index() để tìm kiếm trong đoạn con của danh sách.
Câu 9
Lời giải do TopStudy biên soạn
Đáp án: A
Đáp án: A
Giải thích: Một ví dụ thực tế cho bài toán tìm kiếm là tìm một cuốn sách trong thư viện, khi có mã cuốn sách để xác định vị trí của nó.
Câu 10
Lời giải do TopStudy biên soạn
Đáp án: D
Đáp án: D
Giải thích: Điều kiện dừng của thuật toán tìm kiếm nhị phân là khi đã tìm thấy phần tử x hoặc khi phạm vi tìm kiếm không còn phần tử nào để kiểm tra.
Câu 11
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
a) Đúng . Đây là khái niệm chính của bài toán tìm kiếm, nơi ta cần tìm kiếm một hoặc nhiều mục trong một tập hợp dữ liệu dựa trên yêu cầu tìm kiếm đã cho.
b) Sai. Bài toán tìm kiếm có thể thực hiện trên các dãy số đã sắp xếp và chưa sắp xếp. Tìm kiếm nhị phân yêu cầu dữ liệu đã sắp xếp, nhưng tìm kiếm tuần tự có thể áp dụng cho cả hai trường hợp.
c) Sai. Bài toán tìm kiếm có thể thất bại nếu mục tiêu không có trong tập hợp dữ liệu. Thông báo "không tìm thấy" là một phần quan trọng của quá trình tìm kiếm.
d) Sai. Tìm kiếm có thể được áp dụng cho nhiều loại dữ liệu khác nhau, bao gồm số, hình ảnh, và âm thanh, không chỉ riêng dữ liệu văn bản.
Câu 12
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
a) Đúng. Phương thức index() thực hiện tìm kiếm một phần tử trong dãy và trả về chỉ số của lần xuất hiện đầu tiên. Nếu không tìm thấy, nó sẽ báo lỗi ValueError.
b) Sai. Nếu phần tử không có trong dãy, phương thức index() sẽ báo lỗi ValueError, vì vậy không phải là "không báo lỗi".
c) Sai). Phương thức index() chỉ trả về chỉ số đầu tiên của phần tử tìm thấy, không phải danh sách tất cả các chỉ số.
d) Sai. Phương thức index() có thể tìm kiếm trong cả dãy đã sắp xếp và chưa sắp xếp, vì vậy không giới hạn trong dãy số đã sắp xếp.
Câu 13
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Đáp án: Bài toán tìm kiếm là quá trình tìm kiếm một hoặc nhiều mục dữ liệu trong một tập hợp dữ liệu dựa trên một yêu cầu tìm kiếm cụ thể.
Giải thích: Bài toán tìm kiếm rất quan trọng trong nhiều lĩnh vực, như tìm kiếm thông tin trên internet, tra cứu dữ liệu trong cơ sở dữ liệu, hay tìm kiếm sách trong thư viện. Để giải quyết bài toán này, cần có các thuật toán phù hợp để xác định cách thức và tốc độ tìm kiếm, từ đó cung cấp kết quả chính xác và nhanh chóng cho người dùng.
Câu 14
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Đáp án: Thuật toán tìm kiếm tuần tự kiểm tra từng phần tử trong một dãy cho đến khi tìm thấy phần tử cần tìm hoặc đã kiểm tra hết các phần tử trong dãy.
Giải thích: Khi sử dụng phương thức index() trong Python, hàm này sẽ trả về chỉ số của lần xuất hiện đầu tiên của một phần tử trong dãy. Nếu phần tử không tồn tại, nó sẽ báo lỗi ValueError. Thuật toán tìm kiếm tuần tự có thể áp dụng cho cả dãy đã sắp xếp và chưa sắp xếp, giúp người lập trình dễ dàng tìm kiếm dữ liệu mà không cần phải thay đổi cấu trúc của dãy.
Câu 15
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Đáp án: Nên sử dụng thuật toán tìm kiếm nhị phân khi dãy dữ liệu đã được sắp xếp.
Giải thích: Thuật toán tìm kiếm nhị phân có ưu điểm lớn hơn so với tìm kiếm tuần tự vì nó giảm đáng kể số lần so sánh cần thiết. Với mỗi lần lặp, thuật toán sẽ loại bỏ nửa dãy mà không chứa phần tử cần tìm, dẫn đến thời gian tìm kiếm ngắn hơn. Điều này làm cho tìm kiếm nhị phân trở thành lựa chọn tối ưu cho các dãy đã được sắp xếp, trong khi tìm kiếm tuần tự có thể hiệu quả hơn cho các dãy không được sắp xếp hoặc khi tập dữ liệu nhỏ.