Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự LinearSearch(A, K) là gì?a) O(1)b) O(logn)c) O(n)O(n)O(n)d) O(n2)O(n^2)O(n2)
a) Sai. O(1)O(1)O(1) là độ phức tạp hằng số, chỉ xảy ra khi thuật toán không phụ thuộc vào kích thước của mảng, trong khi ở đây thời gian chạy phụ thuộc vào số phần tử của mảng.
b) Sai. O(logn)O(\log n)O(logn) là độ phức tạp của thuật toán tìm kiếm nhị phân, yêu cầu mảng phải được sắp xếp trước. Thuật toán tìm kiếm tuần tự không yêu cầu mảng phải sắp xếp, do đó không có độ phức tạp O(logn)O(\log n)O(logn).
c) Đúng. Với kích thước mảng nnn, trong trường hợp xấu nhất, thuật toán cần duyệt qua toàn bộ mảng (khoảng nnn lần) trước khi tìm thấy phần tử hoặc xác nhận rằng phần tử không có trong mảng. Vì vậy, độ phức tạp thời gian của thuật toán này là O(n)O(n)O(n).
d) Sai. O(n2)O(n^2)O(n2) thường là độ phức tạp của thuật toán với hai vòng lặp lồng nhau, nhưng thuật toán này chỉ có một vòng lặp.