Câu hỏi:
30/11/2024 18Độ phức tạp thời gian của chương trình 2 trong Hình 24.2, với tổng thời gian tính toán là T2(n)=n2+3T_2(n) = n^2 + 3T2(n)=n2+3, được đánh giá là:
a) O(n)
b) O(n²)
c) O(log n)
d) O(1)
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) Sai. O(n) biểu thị độ phức tạp tuyến tính, không phù hợp với T2(n)=n2+3T_2(n) = n^2 + 3T2(n)=n2+3, vì thời gian tính toán của chương trình 2 tăng theo bậc hai của nnn.
b) Đúng. O(n²) biểu thị độ phức tạp bậc hai, phù hợp với cấu trúc vòng lặp lồng nhau của chương trình 2.
c) Sai. O(log n) biểu thị độ phức tạp logarit, thường gặp ở các thuật toán chia để trị, không áp dụng cho chương trình 2.
d) Sai. O(1) nghĩa là độ phức tạp hằng số, không thay đổi với kích thước đầu vào, không đúng với chương trình 2.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Ký hiệu O(n)O(n)O(n) trong phân tích độ phức tạp thời gian biểu thị điều gì?
Câu 3:
Ký hiệu O(logn)O(\log n)O(logn) được dùng khi độ phức tạp thời gian của thuật toán là gì?
Câu 4:
Tại sao việc ước lượng thời gian chạy của chương trình lại quan trọng trong lập trình?
Câu 6:
Trong trường hợp nào độ phức tạp thời gian của chương trình là O(1)O(1)O(1)?
về câu hỏi!