Tuần 20 — Thuật toán tìm kiếm tuyến tính
Tin học Lớp 10 · 6 câu hỏi có lời giải
Câu 1.Tìm kiếm tuyến tính là?
- A.Duyệt từ đầu đến cuối tìm phần tử
- B.Đệ quy
- C.Chia đôi
- D.Sắp xếp
Xem đáp án
Đáp án: A. Duyệt từ đầu đến cuối tìm phần tử
Tuyến tính: duyệt tuần tự từ đầu đến cuối list.
Câu 2.Độ phức tạp tìm tuyến tính?
- A.O(n²) — như sắp xếp nổi bọt
- B.O(1) — như tra mảng theo chỉ số
- C.O(n)
- D.O(log n)
Xem đáp án
Đáp án: C. O(n)
Tìm tuyến tính có độ phức tạp O(n) - tệ nhất duyệt cả n phần tử.
Câu 3.Code tìm tuyến tính trong Python?
- A.for i, x in enumerate(lst): if x == target: return i
- B.print(lst)
- C.sort(lst)
- D.sum(lst)
Xem đáp án
Đáp án: A. for i, x in enumerate(lst): if x == target: return i
Duyệt enumerate và so sánh; return index khi tìm thấy.
Câu 4.Khi nào dùng tìm tuyến tính?
- A.Mảng đã sắp
- B.Không bao giờ
- C.Mảng cực lớn
- D.Mảng nhỏ, chưa sắp xếp
Xem đáp án
Đáp án: D. Mảng nhỏ, chưa sắp xếp
Phù hợp khi mảng nhỏ hoặc chưa sắp xếp.
Câu 5.Tìm tuyến tính có cần điều kiện gì?
- A.Mỗi phần tử phải có ID duy nhất
- B.Không cần (mảng bất kỳ)
- C.Đã sắp
- D.Đã đảo ngược
Xem đáp án
Đáp án: B. Không cần (mảng bất kỳ)
Không cần điều kiện gì với dữ liệu.
Câu 6.Nếu không tìm thấy, hàm trả về?
- A.0
- B.True (đã tìm thấy)
- C.-1 hoặc None
- D.IndexError ngoài phạm vi
Xem đáp án
Đáp án: C. -1 hoặc None
Quy ước thường trả về -1 hoặc None khi không tìm thấy.