Câu hỏi:
17/11/2024 11Cách nào dưới đây có độ phức tạp thời gian tuyến tính?
a) Tìm số lớn nhất trong dãy số bằng cách so sánh từng cặp.
b) Tính giai thừa của một số nguyên n bằng đệ quy.
c) Sắp xếp một dãy số bằng thuật toán Quick Sort.
d) Tìm kiếm một số trong dãy số không sắp xếp bằng cách lặp qua từng phần tử.
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
a) Đúng – Độ phức tạp thời gian là O(n) vì phải duyệt qua từng phần tử để so sánh.
b) Sai – Độ phức tạp thời gian là O(n) nhưng không được coi là tuyến tính trong trường hợp này do bản chất của đệ quy liên quan đến nhiều lời gọi hàm chồng chéo.
c) Sai. Thuật toán Quick Sort có độ phức tạp thời gian trung bình là O(nlogn)
d) Đúng. Tìm kiếm một số trong dãy số không sắp xếp bằng cách lặp qua từng phần tử có độ phức tạp thời gian O(n), vì phải kiểm tra tất cả n phần tử.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 2:
PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai
Thuật toán nào sau đây có độ phức tạp thời gian hằng số?
a) Tính tổng dãy số bằng cách cộng dồn từng số.
b) Tính tổng dãy số bằng công thức tính tổng cấp số cộng S=
c) Tìm kiếm một phần tử trong danh sách đã sắp xếp bằng cách sử dụng thuật toán tìm kiếm nhị phân.
d) Sắp xếp một dãy số bằng thuật toán sắp xếp nổi bọt (bubble sort).
Câu 3:
PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.
Độ phức tạp thời gian của thuật toán được xác định bởi yếu tố nào?
Câu 7:
Trong trường hợp nào thuật toán có thể có độ phức tạp thời gian tuyến tính?
về câu hỏi!