Cá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
Giải thích
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ử.